首页服务器Web服务器 Nginx开启一个参数就能让你的WEB性能提升3倍的方法

Nginx开启一个参数就能让你的WEB性能提升3倍的方法

一、遇到的一些问题 记得 2008 年做性能测试的时候,新进7台 lenovo 4核4G 服务器用于性能测试。 当时资源紧张,这7台服务器都装了双系统(Win2003/CentOS5)空闲时用于做测试机(压…

一、遇到的一些问题

记得 2008 年做性能测试的时候,新进7台 lenovo 4核4G 服务器用于性能测试。

当时资源紧张,这7台服务器都装了双系统(Win2003/CentOS5)空闲时用于做测试机(压测的Agent)。

当时给Nginx做了一系列测试,印象很深的是:在这批机器上,Nginx状态页面的压测。

短连接的话最佳QPS约4万,长连接的话最高QPS约13万。

大概3年后,那批 lenovo 服务器已经没人瞧得上了,只能做肉鸡。

然而,一次不经意的测试,发现再牛的服务器,短连接最佳QPS也高不了多少。而且,测试机的资源没用完,被测试服务器的资源也用不完,网络也没瓶颈。

服务器资源使用率很低,然而响应就是不够快。

最后,我们发现了瓶颈在监听的入口!是否可以提高监听入口的性能?是否可以端口复用?最后我们找到了SO_REUSEPORT。

SO_REUSEPORT支持多个进程或者线程绑定到同一端口,提高服务器程序的性能。

二、解决方案

测试环境

 Dell PowerEdge M620 Intel(R)Xeon(R)CPU E5–2620v2@2.10GHz
Linux3.16.0–4–amd64#1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
Ethernet controller:Broadcom Corporation NetXtreme II BCM5781010Gigabit Ethernet(rev10)

查看编译参数

Nginx,参数,WEB性能

Nginx 配置如下:

注意有一个reuse_port参数

user www–data;worker_processes auto;pid/run/nginx.pid;events{useepoll;multi_accept on;reuse_port on;worker_connections 1048576;}dso{# 动态加载功能模块 /usr/share/nginx/modulesload ngx_http_memcached_module.so;load ngx_http_limit_conn_module.so;load ngx_http_empty_gif_module.so;load ngx_http_scgi_module.so;load ngx_http_upstream_session_sticky_module.so;load ngx_http_user_agent_module.so;load ngx_http_referer_module.so;load ngx_http_upstream_least_conn_module.so;load ngx_http_uwsgi_module.so;load ngx_http_reqstat_module.so;load ngx_http_browser_module.so;load ngx_http_limit_req_module.so;load ngx_http_split_clients_module.so;load ngx_http_upstream_ip_hash_module.so;}http{include    /etc/nginx/mime.types;default_type text/plain;access_log off;sendfile    on;tcp_nopush  on;tcp_nodelay  on;server_tokens off;keepalive_timeout 120;server_names_hash_bucket_size512;server_name_in_redirect off;fastcgi_connect_timeout3s;fastcgi_send_timeout3s;fastcgi_read_timeout3s;fastcgi_buffer_size128k;fastcgi_buffers8128k;fastcgi_busy_buffers_size256k;fastcgi_temp_file_write_size256k;variables_hash_max_size 1024;set_real_ip_from10.0.0.0/8;set_real_ip_from172.28.0.0/16;set_real_ip_from192.168.0.0/16;real_ip_headerX–Forwarded–For;gzip off;gzip_disable“msie6”;gzip_min_length1k;gzip_buffers1664k;gzip_http_version1.1;gzip_comp_level6;gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;gzip_vary on;ssl_protocols TLSv1 TLSv1.1TLSv1.2;# Dropping SSLv3, ref: POODLEssl_prefer_server_ciphers on;access_log/var/log/nginx/access.log;error_log/var/log/nginx/error.log;server{listen    80backlog=65535;charset utf–8;location/{# 打印Tengine状态页stub_status on;# 开启状态页,依赖 http_stub_status_module 模块access_log off;#访问过程不记日志}location~^(.*)///.(svn|git|hg|bzr|cvs)//{# 屏蔽这些目录deny all;access_log off;log_not_found off;}location~//.{# 屏蔽.开头的目录或文件,比如 .htaccess .bash_historydeny all;access_log off;log_not_found off;}location/do_not_delete.html{access_log off;empty_gif;}}}
本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/fwq/web/2505.html
上一篇Linux文本查找命令find的用法详解
下一篇 解决Web部署 svg/woff/woff2字体 404错误
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部