一、压力测试
1、压力测试
1)压力测试作用
测试网站负载情况
2)压力测试特点
支持互联网或者局域网压力测试
测试网站最大并发量
响应速度
2、网站服务器访问并发量到达临界点处理流程
1)定期监控
高并发流量出现时间点
监控平均访问并大量
2)优化网站
监控内存
服务器带宽资源
监控CPU使用率
监控磁盘使用率
3)配置网站负载均衡
LVS
Nginx反向代理
haproxy
4)了解网站是否发布广告
吸引流量
3、ab压力测试
1)ab压力测试选项
-n:请求总量
-c:并发量
-t:测试使用时间
2)配置压力测试
[root@centos01 ~]# ab -n 1000 -c 10 www.benet.com/index.html
二、Apache工作模式
1、开启apache工作模式配置
1)修改apache主配置文件
[root@centos01 ~]# vim /usr/local/httpd/conf/httpd.conf
373 Include conf/extra/httpd-mpm.conf
2)检查主配置文件是否故障
[root@centos01 ~]# httpd -t
2、apache工作模式类型
1)prefork
父进程携带子进程启动
子进程给客户端提供服务
父进程使用root管理
子进程使用daemon管理
高并发占用内存资源
稳定性强
父进程故障子进程全部停止服务
默认的工作模式
2)worker
进程携带线程
给客户端提供服务是通过线程实现
占用硬件资源小
支持高并发请求
进程故障线程全部停止工作
3)Event工作模式
避免配置保持连接长时间占用线程导致线程无法给其他用户提供服务
Event模式Linux内核不能低于2.6目前使用3.0
3、配置apache工作模式prefork优化
1)查看apache当前工作模式
[root@centos01 ~]# apachectl -V
2)修改工作模式配置文件
[root@centos01 ~]# vim /usr/local/httpd/conf/extra/httpd-mpm.conf
<IfModule mpm_prefork_module>
StartServers 5 //启动进程数
MinSpareServers 5 //最小空闲进程数
MaxSpareServers 10 //最大空闲进程数
MaxClients 150 //最大客户端并发访问量
MaxRequestsPerChild 0 //每个子进程最大处理数量0表示不限制
Serverlimit 200 //限制启动最大进程数
</IfModule>
3)检查配置文件
[root@centos01 ~]# httpd -t
4)重启服务
[root@centos01 ~]# /etc/init.d/httpd restart
5)查看进程树
[root@centos01 ~]# ps -aux | grep httpd
[root@centos01 ~]# pstree -up
4、修改apache工作模式worker
1)配置apache
[root@centos01 ~]# cd /usr/src/httpd-2.2.17/
[root@centos01 httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi --enable-charset-lite --with-mpm=worker
2)编译安装apache
make && make install
3)检查工作模式
httpd -V
4)修改配置文件
[root@centos01 ~]# vim /usr/local/httpd/conf/extra/httpd-mpm.conf
<IfModule mpm_worker_module>
StartServers 2 //启动进程
Serverlimit 200 //限制最大进程
MaxClients 150 //最大并大请求
MinSpareThreads 25 //最小空闲线程
MaxSpareThreads 75 //最大空闲线程
ThreadsPerChild 25 //每个进程启动线程
MaxRequestsPerChild 0 //每个进程最大处理请求
</IfModule>
5)重启apache服务
[root@centos01 ~]# /etc/init.d/httpd restart
5、Apache目录属性优化
1)options选项
Indexes:网站主页不存在显示根目录数据
FollowSymLinks:允许使用符号连接
MultiViews:访问内容不存在会查找
2)ExecCGI
允许在网站根目录运行脚本
3)All
开启所有功能