我有一群消费者(50个左右的实例)正在使用kafka分区。
我注意到有一台服务器一直很慢。它的CPU使用率总是在80-100%左右。而其他分区约为50%。
最初我认为这有点依赖于流量的可能性,所以我手动切换慢速加载器正在消耗的分区。
但是我没有观察到处理速度的提高。
我也没有看到来自iostat
的cpu窃取,但由于所有消费者都运行相同的代码,我怀疑硬件中有一些瓶颈。
不幸的是,除非我能提供硬件问题的确凿证据,否则我无法更换服务器。
所以我想编写一个负载测试脚本,指出瓶颈。
我的计划是在python中编写一个执行n次计算的while循环,并找出慢速消费者可以做的最大计算量以及快速消费者可以做的最大计算量。
我可以采取哪些其他测试策略?
也许我应该通过让我的python脚本写入txt文件来测试磁盘瓶颈?
以下是快速消费者iostat
avg-cpu: %user %nice %system %iowait %steal %idle
50.01 0.00 3.96 0.13 0.12 45.77
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
xvda 1.06 0.16 11.46 422953 30331733
xvdb 377.63 0.01 46937.99 35897 124281808572
xvdc 373.43 0.01 46648.25 26603 123514631628
md0 762.53 0.01 93586.24 22235 247796440032
这是一个缓慢的消费者iostat
avg-cpu: %user %nice %system %iowait %steal %idle
81.58 0.00 5.28 0.11 0.06 12.98
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
xvda 1.02 0.40 13.74 371145 12685265
xvdb 332.85 0.02 40775.06 18229 37636091096
xvdc 327.42 0.01 40514.44 10899 37395540132
md0 676.47 0.01 81289.50 11287 75031631060