说明: Apache默认在Centos仓库
安装步骤:
sudo yum install httpd
启动服务
sudo systemctl enable httpd
sudo systemctl start httpd
查看状态
sudo systemctl status httpd
sudo httpd -v
ab压测
- ab是Apache 自带的压测工具,可以对apache、nginx、tomcat、IIS等压测。
- 语法格式:
- ab [options] [http://]hostname[:port]/path
- 常用案例: ab -n 2000 -c 100 url路径
- 参数说明
-n 即requests,用于指定压力测试总共的执行次数。
-c 即concurrency,用于指定压力测试的并发数。
-t 即timelimit,等待响应的最大时间(单位:秒)。
-w 以HTML表格形式打印结果。
-h 显示用法信息,其实就是ab -help。
- 压测结果案例说明
Server Software: Apache/2.2.25 (服务器软件名称及版本信息)
Server Hostname: localhost (服务器主机名)
Server Port: 80 (服务器端口)
Document Path: /index.php (供测试的URL路径)
Document Length: 10 bytes (供测试的URL返回的文档大小)
Concurrency Level: 100 (并发数)
Time taken for tests: 0.247 seconds (压力测试消耗的总时间)
Complete requests: 1000 (压力测试的总次数)
Failed requests: 0 (失败的请求数)
Write errors: 0 (网络连接写入错误数)
Total transferred: 198000 bytes (传输的总数据量)
HTML transferred: 10000 bytes (HTML文档的总数据量)
Requests per second: 4048.34 [#/sec] (mean) (平均每秒的请求数)
Time per request: 24.701 [ms] (mean) (所有并发用户(这里是100)都请求一次的平均时间)
Time per request: 0.247 [ms] (mean, across all concurrent requests) (单个用户请求一次的平均时间)
Transfer rate: 782.78 [Kbytes/sec] received (传输速率,单位:KB/s)
ubuntu安装apache遇到问题
- 解决办法
sudo echo "deb http://archive.ubuntu.com/ubuntu trusty main universe restricted multiverse" > /etc/apt/sources.list
sudo apt-get update
- 安装
sudo apt-get install apache2-utils
ab压测问题汇总
打开的文件太多
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking mudu.tv (be patient)
socket: Too many open files (24)
#解决方案:把限制修改为20w
ulimit -n 204800
#查看当前限制
ulimit -a
OS error code 99: Cannot assign requested address
sysctl -w net.ipv4.tcp_timestamps=1 开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用
sysctl -w net.ipv4.tcp_tw_recycle=1 表示开启TCP连接中TIME-WAIT sockets的快速回收