前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx 最大连接压测和调优

nginx 最大连接压测和调优

作者头像
以谁为师
发布2019-06-02 13:03:57
2.8K0
发布2019-06-02 13:03:57
举报

nginx是非常高性能的web服务,交付web服务时我非常想知道它究竟能承载的多少并发量??我们知道影响服务性能的因素有很多如出口带宽、磁盘io、内存和cpu资源;ok 今天就来测试一把看看如何充分使用nginx性能。

环境:
主机资源:aliyun 2核4G
操作系统: centos7
网络环境: 阿里云vpc内网
version: openresty/1.13.6.2

涉及环境调优

通过ulimit,sysctl命令检查系统环境限制,不展开说明

nginx 配置

cat /proc/cpuinfo | grep processor
# 查看cpu核数

cat /nginx.conf

worker_processes  2; #cpu核数,建议不大于8
events {
    worker_connections  10240;
}

server {
listen 80 default_server;
default_type application/json;
server_name _;
return 200 '{"date":"$time_local","host":"web-test1","result":"nginx json"}';
access_log  /usr/local/nginx/logs/default.log;
}

压测调用

wrk  -t2  -c40000 -d120s http://172.16.140.128
# t多少线程 c连接数 d压测时间;线程数不宜过多,核数的2-4倍

根据系统资源情况调整worker_connectionsworker_processes来限制nginx可用客户端连接数;

正常web服务

客户端最大连接数 = worker_processes * worker_connections

nginx反向代理

#作为反向代理,因为浏览器默认会开启2个连接到server,而且Nginx还会使用fds(file descriptor)从同一个连接池建立连接到upstream后端

   nginx作为http服务器的时候:
    max_clients = worker_processes * worker_connections/2
   nginx作为反向代理服务器的时候:
    max_clients = worker_processes * worker_connections/4

或者从一般建立连接的角度:客户并发连接为1.

   nginx作为http服务器的时候:
    max_clients = worker_processes * worker_connections
   nginx作为反向代理服务器的时候:
    max_clients = worker_processes * worker_connections/2

参考 http://blog.51cto.com/liuqunying/1420556

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年2月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 涉及环境调优
  • nginx 配置
  • 压测调用
  • 正常web服务
  • nginx反向代理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档