• 记在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有了大致的认识,也对服务器性能有了基本了解

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

  • 相关阅读:
    3.23.谷歌中国搜索关闭的日子
    在Fedora下成功将Vim打造成适用于C/C++的IDE
    有关内存DC和双缓冲位图的问题汇总
    [转]阶乘 n! 末尾 0 的个数
    [转]各种排序算法
    [转]使用CEGUI的Editbox进行中文输入
    [转]ASP.NET中文件上传下载方法集合
    背包问题的c++解法
    [转]经典C/C++算法
    [转]编写自己的MSN机器人
  • 原文地址:https://www.cnblogs.com/renzhicai/p/7783602.html
Copyright © 2020-2023  润新知