1.nginx的优化
全局配置优化:修改系统ulimit限制/etc/security/limits.conf
user www www;
worker_processes 2; //与CPU核心数量一致
worker_rlimit_nofile 60000;//最大打开文件数量
error_log /var/log/nginx/error_log info; //定义日志级别
event模块优化
max_clients=worker_processes*worker_connections
events{
worker_connections 10000;
use epoll;
}
http模块优化:如果需要处理大量静态文件,需要保持这些文件句柄为打开状态,避免后续再次打开
http{
open_file_cache max=2000 inactive=20s;
open_file_cache_valid 60s;
open_file_cache_min_uses 5;
open_file_cache_errors off;
}
设置服务器最大缓存2000个文件句柄,关闭20秒内无请求的文件句柄
文件句柄的有效时间是60s,60s后过期
只有访问次数超过5次会被缓存
客户端浏览器缓存数据
http{
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)${
access_log off;
expires 30d;
}
}
2.常用压力测试工具
ab
ab -c 并发数 -n 总请求数 url
http_load
http_load -p 并发数 -s 测试时间 url
webbench
webbench -c 并发数 -t 测试时间 url
siege
siege -c 并发数 -r 重复次数 url
3.防盗链
Referer:http referer是header的一部分,当浏览器向web服务器发送请求时,一般都会带上referer,告诉服务器我是从哪个页面连接过来的,服务器可以获得一些信息用于处理
location ~* \.(gif|png|jpg|flv)${
valid_referers none blocked www.uinyun.com;
if($invalid_referer){
rewrite ^/ http://www.uinyun.com/403.html;
}
}
原文链接:nginx的优化及性能测试,转载请注明来源!