jmeter高并发测试_利用Apache JMeter进行高并发测试(二)

    上一篇文章里测试了服务器经过负载均衡之后的静态页面(准确的说也不完全是静态页面,因为里面也包含了数据库请求,只是没有数据所以看着像是一个静态页面),今天来做下请求动态数据页面压力测试。


    先使用Navicat将每个数据库里面的展示表插入100条数据,为了保证数据的一致性,2-4-2到2-4-3三台业务服务器的数据库用的同一个sql文件

#表名news_newsmodel# 字段title,content,create_timedelimiter $$DROP PROCEDURE IF EXISTS proc_batch_insert;CREATE PROCEDURE proc_batch_insert()BEGINDECLARE pre_name BIGINT;DECLARE ageVal INT;DECLARE i INT;SET pre_name=1;SET ageVal=100;SET i=1;WHILE i     INSERT INTO news_newsmodel(`title`,content,create_time) VALUES(CONCAT(pre_name,'-zhangxiaofei'),(ageVal+i)%30,NOW());SET pre_name=pre_name+100;SET i=i+1;END WHILE;END $$delimiter ;call proc_batch_insert();

示例页面如下

920a3358364ad4679e12847dd78c3349.png

    我将使用jmeter来测试get请求,由于目前还没搞懂jmeter如何设置get路径的参数变量,也不想在测试上花费太多时间,所以我就随机来写链接进行测试了。因为没有缓存,影响应该不大。类似下面这种

http://202.182.107.126/article/99/

48d3814b996acf04947f3ebee80ab612.png

    测试一:100用户/秒并发访问,持续10秒

    2核4G集群。215ms。

65eabe1f1d9b627c432f03653b1598ae.png

    6核16G内存。196ms。

a86dbd39f1071704b560a1722bc2e908.png

    8核32G。基本差不多。

bf35b1abe0e51876371ce941481ee92e.png

    测试二:300用户/秒并发访问,持续10秒

    2核4G集群。565ms,错误率1%-6%之间。

4f38ee95f787a9bce6186f635cd9eab1.png

    6核16G内存。552,但错误率在9%-15%之间。

ff25f6be3987484b18ff4145a4560d75.png

    8核32G。错误率基本在7%左右。

b575eb707400f2dab4d4b25aa425d881.png

    测试三:500用户/秒并发访问,持续10秒

    2核4G集群。12%-24%左右的错误率,基本3台业务服务器的cpu都跑满了。

e5b995fcedc1570f22fedfb58fadcc0f.png

    6核16G内存。错误率在16%-30%。

c442029823435cdc29008f48d80fdd80.png

    8核32G。错误率在20%-36%。

a66b31174c1ab02c16182fc1a81849a3.png

    说明:在网站对抗高并发访问的情况下,负载均衡的效果还是有效的,但并不是说负载均衡就是加速网站访问的神器,从上一篇和这一篇的测试可以看到,即使做了nginx的负载均衡,在每秒100模拟用户访问的情况下,2核4G集群的平均访问时长并没有比6核和8核的服务器响应速度快,这个也好理解,因为在服务器资源完全充足的情况下,高配置服务器肯定是比低配置服务器处理请求的速度更快的,通过nginx配置负载均衡的优势在于应对高并发,降低服务器内部错误的概率,返回正确的数据给客户。

    以上结论仅供参考。

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页