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 *