我正在尝试对我的Spring RESTful Web服务进行压力测试。
我在英特尔酷睿2双核笔记本电脑上运行我的Tomcat服务器,4 GB内存。我知道它不是真正的服务器机器,但我只是这个而且它仅用于学习目的。
对于测试,我在远程计算机上运行JMeter,并通过具有中央无线路由器的私有WLAN进行通信。我更喜欢从无线连接测试这个,因为它可以从移动客户端访问。使用JMeter,我运行一组50个线程,每秒启动一个线程,然后在50秒后所有线程都在运行。每个线程重复向服务器发送一个HTTP请求,其中包含一个要处理的小JSON对象,并在每次迭代时休眠一段时间等于100毫秒常量延迟和高斯分布随机值的总和,标准偏差100毫秒我使用一些JMeter插件来绘制图形。
以下是结果:
我无法弄清楚为什么每秒的命中率没有超过100阈值(在图中它们每10乘以一次),因为这个配置它应该高于这个值(至少发送50个线程)三次会产生150次/秒)。我没有从服务器收到任何错误消息,似乎一切都运行良好。我已经尝试了越来越多的配置,但我不能超过100次/秒。 为什么呢?
[编辑]很多时候我注意到在没有任何明显原因的情况下从某个角度出现了实质性的性能下降:客户端没有错误响应消息,只有好的http响应消息,所有这些似乎也在服务器上运行良好,但是看着报告:
正如您所注意到的,在01:54和02:14之间发生了一些事情:每秒点击次数减少,响应时间增加,好吧它可能是服务器超载,但cpu减少了怎么办?这与拥挤假设不相容。
答案 0 :(得分:1)
我想注意你已经很好地选择了要在Composite Graph上显示哪些行。这足以得出一些结论: