网站压力测试工具

简介:

在运维工作中,压力测试是一项很重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100% 和线上性能指标相同。面对这些问题,我们只能尽量去想方设法去模拟。所以,压力测试非常有必要,有了这些数据,我们就能对自己做维护的平台做到心中有数

 

性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege

webbench是有名的网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力
webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。
webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。
linux webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,Java,CGI)进行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。

 

MAC安装webbench

Java代码   收藏代码
  1. wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz  
  2. tar -zxvf webbench-1.5.tar.gz  
  3. cd webbench-1.5  
  4. sudo make && sudo make install # sudo 权限因为需要创建文件夹  

使用方法:

Java代码   收藏代码
  1. webbench -c 500 -t 30 http://127.0.0.1/index.html  

参数说明:-c表示并发数,-t表示时间(秒)

注意:webbench 做压力测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,请将 webbench 安装在别的服务器上.

 

apache安装完毕后ab命令存放在apache安装目录的bin目录下

ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。

Java代码   收藏代码
  1. ab -c 10 -n 100 http://127.0.0.1/index.php   

-c10表示并发用户数为10  -n100表示请求总数为100  这行表示同时处理100个请求并运行10次index.php文件。

 

测试前,前面先把系统的端口限制数改大,看看Mac下面的默认限制

Java代码   收藏代码
  1. ulimit -a  

2000多的file descriptors数是很小的,我们把他改大,当然我测试过了,也只能开10000而已,Linux可以开6W多,所以:

Java代码   收藏代码
  1. ulimit -n 10000  

在用 ulimit -a 检查一下

 

总结

1、压力测试工作应该放到产品上线之前,而不是上线以后 

2、测试时尽量跨公网进行,而不是内网

3、测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开是否流程,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少 

4、 应尽量进行单元测试,如B2C网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大

相关文章
|
6天前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
5天前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
5天前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
10 2
|
16天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
17 1
|
1月前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
37 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
|
1月前
|
jenkins 测试技术 持续交付
提升软件测试效率的实用技巧与工具
【10月更文挑战第12天】 本文将深入探讨如何通过优化测试流程、引入自动化工具和持续集成等策略,来显著提高软件测试的效率。我们将分享一些实用的技巧和工具,帮助测试人员更高效地发现和定位问题,确保软件质量。
45 2
|
1月前
|
测试技术
黑盒功能测试工具UFT的使用
黑盒功能测试工具UFT的使用
34 0
黑盒功能测试工具UFT的使用
|
1月前
|
XML 网络安全 数据格式
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(一)
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(一)
|
1月前
|
XML 网络安全 数据格式
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(二)
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(二)
|
1月前
|
安全 网络安全 数据库
Kali渗透测试:使用工具Metasploit攻击操作系统(一)
Kali渗透测试:使用工具Metasploit攻击操作系统(一)

热门文章

最新文章