菜单开关

周梦康 发表于 2017-08-05 3428 次浏览 标签 : 网站架构实战

分为下面三个部分来

nginx 本身配置的优化

  1. worker_processes auto 设置多少子进程
  2. worker_cpu_affinity 亲缘性绑定
  3. worker_rlimit_nofile 65535 worker 进程打开的文件描述符的最大数
  4. worker_connections 65535 子进程最多处理的连接数
  5. epoll 多路复用
  6. sendfile on 是对文件I/O的系统调用的一个优化,系统api
  7. 如果是反向代理web服务器,需要配置fastcgi相关的参数
  8. 数据返回开启gzip压缩
  9. 静态资源使用 http 缓存协议
  10. 开启长连接 keepalive_timeout
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.0;
        gzip_comp_level 2;
        gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/json;
        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;
            }    

tcp/ip 网络协议配置的优化

  1. /proc/sys/net/ipv4/tcp_tw_recycle 1 开启TCP连接中TIME-WAIT sockets的快速回收,保证tcp_timestamps = 1
  2. /proc/sys/net/ipv4/tcp_tw_reuse 1 允许将TIME-WAIT sockets重新用于新的TCP连接
  3. /proc/sys/net/ipv4/tcp_syncookies 0 是否需要关闭洪水抵御 看自己业务,比如秒杀,肯定需要关闭了
  4. /proc/sys/net/ipv4/tcp_max_tw_buckets 180000 否则经常出现 time wait bucket table overflow
  5. tcp_nodelay on 小文件快速返回,我之前通过网络挂载磁盘出现找不到的情况
  6. tcp_nopush on

linux 系统的优化

除了上面的网络协议配置也是在系统基础之外,为了配合nginx自己里面的设定需要做如下修改

  1. /proc/sys/net/core/somaxconn 65535
  2. ulimit -a 65535
    更多详细的优化配置说明:http://os.51cto.com/art/201404/434930.htm

评论列表