iTop性能测试

硬件需求

下表是官方Wiki给出的硬件需求。

Your NeedsOur Recommend
Ticket created per monthConsole UsersCMDB: CIsServersCPUMemoryDisk for MySQL
200< 2050kAn all in one server2vCPU4Gb10Gb
< 5000< 50200kTwo servers: Web + MySQL4vCPU8Gb20Gb
> 5000> 50> 200kTwo servers: Web + MySQL8vCPU16Gb50Gb
iTop硬件需求

压测配置

  1. 8核16G 虚拟机,CPU为 Intel Xeon E5-2699 v4 @ 2.20GHz
  2. PHP/7.3.20, Tengine/2.3.2, MySQL/5.7.31 部署在同一台机器上
  3. iTop/2.7.1-5896
  4. opcache-7.3.20, apcu-5.1.17

压测方法

计划随机读写 Server 对象来测试。首先需要写一个代理接口,用来生成随机的 Server 序列号和主机名,然后使用 ab 压测此代理接口。

结果

模式并发吞吐(rps)响应时间(ms)%user%iowaitLoad1
写入52520062%0%5.5
写入73320585%0%9
写入104026095%0%15
读取104523396%0%15
读取73818086%0%9
读取52818263%0%6.1
读取154532397%0%20
iTop压测结果

压测结果并不理想。一部分原因是因为机器配置不太好,并且PHP和MySQL没有分离。另外 iTop 定位是 IT 管理软件,主要用户是人,高并发读写确实不是其强项。而且 iTop 中存储的数据绝大部分是很少变动的,如果真有高并发的读取需求,可以考虑做一层有缓存的代理,并实现缓存刷新接口,通过计划任务查询 CMDBChangeOp 对象来刷新缓存。

参考资料

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注