记在VMware虚拟机中对网站进行性能压力测试的经历

由于本次测试,仅仅是对静态网站首页进行的测试,所以没有涉及到MySQL数据库的性能监测

服务器基本配置

webbench测试工具

Linux上一款优秀的web性能压力测试工具。webbench最多可以模拟3万个并发连接去测试网站的负载能力。

下面开始测试

第一次并发测试

下面是5000个并发持续120秒访问首页,进行压力测试

[root@localhost webbench-1.5]# webbench -c 5000 -t 120 http://192.168.1.71/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.1.71/
5000 clients, running 120 sec.

Speed=519831 pages/min, -9534187 bytes/sec.
Requests: 1039663 susceed, 0 failed.

上面测试结果展示,每分钟处理51.9831万个请求的页面,相当于每秒能够处理8663个请求 请求成功数是1039663次,请求失败数是0次

第二次并发测试

[root@localhost webbench-1.5]# webbench -c 5000 -t 300 http://192.168.1.71/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.1.71/
5000 clients, running 300 sec.

Speed=514527 pages/min, -2642553 bytes/sec.
Requests: 2572479 susceed, 159 failed.

请求成功数是2572479次,请求失败数是159次,说明5000的并发已经很危险了

第三次并发测试

下面是6000个并发持续60秒访问首页,进行压力测试

[root@localhost webbench-1.5]# webbench -c 6000 -t 60 http://192.168.1.71/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.1.71/
6000 clients, running 60 sec.

Speed=222115 pages/min, 11179411 bytes/sec.
Requests: 221307 susceed, 808 failed.

第四次测试

[root@localhost webbench-1.5]# webbench -c 4000 -t 300 http://192.168.1.71/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.1.71/
4000 clients, running 300 sec.

Speed=530127 pages/min, -1853290 bytes/sec.
Requests: 2650594 susceed, 44 failed.

第五次测试

[root@localhost webbench-1.5]# webbench -c 3000 -t 300 http://192.168.1.71/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.1.71/
3000 clients, running 300 sec.

Speed=542579 pages/min, -1223879 bytes/sec.
Requests: 2712899 susceed, 0 failed.

总结分析

分析

	并发为5000时,访问网站打开速度比较快,基本不受影响,但是内存使用率达到
物理内存:共 911.86 MB , 已用 836.53 MB , 空闲 75.33 MB , 使用率 92.5%,
真实内存使用 729.24 MB , 真实内存空闲 182.62 MB , 使用率 79.97 %;

	并发为4000时,访问网站打开速度快,基本不受影响,但是内存使用率达到
	物理内存:共 911.86 MB , 已用 803.5 MB , 空闲 108.36 MB , 使用率 88.12%
Cache化内存为 197.68 MB , 使用率 21.68 %	| Buffers缓冲为 0 MB
真实内存使用 605.82 MB , 真实内存空闲 306.04 MB , 使用率 66.44 %
SWAP区:共 1640 MB , 已使用 106.36 MB , 空闲 1533.64 MB , 使用率 6.49 %
	
	并发为3000时,访问网站打开速度快,但是内存使用率达到
物理内存:共 911.86 MB , 已用 748.3 MB , 空闲 163.56 MB , 使用率 82.06% 
Cache化内存为 244.91 MB , 使用率 26.86 %	| Buffers缓冲为 0 MB 
真实内存使用 503.39 MB , 真实内存空闲 408.47 MB , 使用率 55.2 % 
SWAP区:共 1640 MB , 已使用 106.06 MB , 空闲 1533.94 MB , 使用率 6.47 %
%Cpu(s): 18.5 us, 62.4 sy, 

总结

	从上面五次测试结果可以看出,当前网站支撑3000个并发是没问题的,内存使用率55%,cpu使用率占62.4%
	因此,基本锁定网站能支撑的并发是3k左右,基本能抗住日均流量259200000 = 2.592亿次。
	上面的结论是,以静态网站作为前提的。But 我没把服务器网络带宽算进去……不知道影响几何了。

一般的,中小企业网站能达到3000并发已经相当不错了。而一般的很多项目,基本日均PV数是几百万,这只要并发能达到100左右,日均PV就有864万左右了。

经过这次压力测试,基本对并发,日均PV有了大致的认识,也对服务器性能有了基本了解

要支持高并发、大流量,还得对程序进行好的优化。

原文地址:https://www.cnblogs.com/renzhicai/p/7783602.html