本文概述
- 1.安装apache2-utils
- 2.运行压力测试
- 我的应用程序何时会中断(有多少用户)?
- 在大量同时请求的情况下, 你的应用程序的平均响应时间是多少?
- 我的服务器每秒可以处理的最大请求数量是多少?
1.安装apache2-utils为了使用apache基准测试工具, 我们将需要在Ubuntu系统上使用以下命令安装apache2实用程序集合:
sudo apt-get install apache2-utils
请注意, 这不需要安装在要运行测试的同一服务器上。你甚至可以将其安装在本地桌面Ubuntu中, 然后针对特定的URL运行测试。该软件包提供了对任何Web服务器都有用的其他工具。这包括:
- ab:Apache基准测试工具(我们将在本文中使用的工具)
- fcgistarter:启动FastCGI程序
- logresolve:将IP地址解析为日志文件中的主机名
- htpasswd:处理基本身份验证文件
- htdigest:处理摘要身份验证文件
- htdbm:使用APR处理DBM格式的基本身份验证文件
- htcacheclean:清理磁盘缓存
- rotationlogs:定期停止写入日志文件并打开一个新的日志文件
- split-logfile:拆分包含多个虚拟主机的单个日志
- checkgid:检查呼叫者是否可以将gigid设置为指定的组
- check_forensic:从Apache日志文件中提取mod_log_forensic输出
- httxt2dbm:生成用于RewriteMap的dbm文件
2.运行压力测试要使服务器承受压力以检查它在大量请求下的行为, 可以开始使用以下命令:
ab -c 100 -n 500 -r https://yourwebsite-or-ip.com/
其中:
- -c:并发, 一次执行的多个请求的数量。默认值为一次一个请求。
- -n:请求数, 基准测试会话要执行的请求数。默认设置是仅执行一个请求, 这通常会导致非代表性的基准测试结果。
- -r:不退出套接字接收错误。
- 作为位置参数, 是带有指定模块的网站的网址, 例如/(用于首页)。
# 200 simultaneous request should start to be heavy for your server, making 5K requests in totalab -c 200 -n 5000 -r https://yourwebsite-or-ip.com/
【如何在Ubuntu 18.04中对你的apache服务器运行压力测试】当你在apache中具有DoS / DDoS保护时, 例如使用qos_module时, 你将看到命令输出中将出现很多失败的请求。发生这种情况是因为保护确实有效, 并且如上所述, ab工具基本上将请求泛洪到服务器, 因此许多具有相同IP的请求将被apache模块自动阻止。
如果要完全测试而没有失败的请求, 则可以在短时间内禁用服务器中qos模块的保护, 但是一旦完成测试, 请不要忘记启用它。如果只有四分之一成功到达服务器, 则将无法最大程度地测试服务器资源。
编码愉快!
推荐阅读
- 如何在GNU Nano中为Markdown文件启用语法突出显示
- 如何知道我在Android项目中使用的Gradle版本()
- 11个有用的Python开发设置技巧来提高你的生产力
- 如何在Python中以螺旋形式(蜗牛或顺时针螺旋排序)格式化给定的数组(矩阵)
- 如何使用Java AWT Toolkit检索屏幕尺寸(宽度,高度)和分辨率
- 如何解决Android Studio错误(Cannot resolve symbol ‘Activity Manager’)
- 如何使用JavaScript在浏览器中将本地音频文件加载到Wavesurfer.js中
- Linux|Linux的I/O复用接口select和epoll
- 服务器架构|ansible常用模块详细整理(批量管理模块功能)