nginx性能优化参考
1)调整配置文件中的配置项的值(配置文件:nginx.conf)
worker_processes auto;开启的进程数,一般配置为跟逻辑CPU核数一样
worker_rlimit_nofile 51200;1个nginx进程可打开的最大文件描述符数目的数量
events
{
use epoll;设置工作模式为消息通知模式(epoll),轮询模式效率低(select)
worker_connections 51200;每个进行可打开的最大连接数据,受最大文件描述符数目的限制
multi_accept on;开启后,保持尽可能的接受更多的连接请求
}
keepalive_timeout 60;保持连接的超时时间,可将数字配置更小
可根据实际情况来决定是否关闭
access_log /home/wwwlogs/access.log access;
access_log off;
--开启gzip压缩
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
--设置存储的资源的过期时间
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
nginx 优化配置补充
uset root root;
在http中增加下列配置项
gzip_http_version 1.0;
include mime.types;
default_type application/octet-stream;
可在http server location中配置
sendfile on;
#每次调用sendfile()时,最大传输的数据大小
sendfile_max_chunk 512k;
压缩可配置在http server location块
需加载模块
ngx_http_gzip_module
ngx_http_static_module
ngx_http_gunzip_module
前端代理中加上
proxy_set_header Accept-Encoding 'gzip'
同步阻塞 进程->内核发送IO,一直等待内核响应,不接受新请求,请求IO未完成,则进程一直等待,轮询查看IO是否完成,完成后进程将IO结果返回给客户端。
同步非阻塞 进程->内核发送IO,一直等待内核响应,可接受新请求,请求IO未完成,则进程不等待,轮询查看IO是否完成,完成后进程将IO结果返回给客户端。
异步阻塞 进程->内核发送IO,不等待内核响应,可接收新请求,请求IO未完成,则内核一直等待,完成后再有内核通知进程,进程再将IO结果返回给客户端。
异步非阻塞 进程->内核发送IO,不等待内核响应,可接收新请求,请求IO未完成,则内核不等待,完成后再有内核通知进程,进程再将IO结果返回给客户端。
nginx中针对mp3的优化,需要安装ysam ffmpeg 源码包
./configure --enable-shared --prefix=/usr/loacal/ffmpeg
动态链接库
vi /etc/ld.so.conf
加入:/usr/local/ffmpeg/lib
执行 ldconfig 生效
修改/usr/local/ffmpeg/lib目录下的文件权限为777
cd /usr/local/ffmpeg/lib/
chmod 777 *