测试机器为腾讯云服务器1核1G内存,swap分区2G,停用除SSH外的所有服务,仅保留nginx,优化思路主要包括两个层面:系统层面+nginx层面。

一、系统层面

1、调整同时打开文件数量

ulimit -n 20480

2、TCP最大连接数(somaxconn)

echo 10000 > /proc/sys/net/core/somaxconn

3、TCP连接立即回收、回用(recycle、reuse)

echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse

echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle

4、不做TCP洪水抵御

echo 0 > /proc/sys/net/ipv4/tcp_syncookies

也可以直接使用优化后的配置,在/etc/sysctl.conf中加入:

net.core.somaxconn = 20480

net.core.rmem_default = 262144

net.core.wmem_default = 262144

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.ipv4.tcp_rmem = 4096 4096 16777216

net.ipv4.tcp_wmem = 4096 4096 16777216

net.ipv4.tcp_mem = 786432 2097152 3145728

net.ipv4.tcp_max_syn_backlog = 16384

net.core.netdev_max_backlog = 20000

net.ipv4.tcp_fin_timeout = 15

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_max_orphans = 131072

net.ipv4.tcp_syncookies = 0

使用:sysctl -p 生效

sysctl -p

二、nginx层面

修改nginx配置文件,nginx.conf

增加work_rlimit_nofile和worker_connections数量,并禁用keepalive_timeout。

worker_processes 1;

worker_rlimit_nofile 20000;

events {

use epoll;

worker_connections 20000;

multi_accept on;

}

http {

keepalive_timeout 0;

}

重启nginx

/usr/local/nginx/sbin/nginx -s reload

使用ab压力测试

ab -c 10000 -n 150000 http://127.0.0.1/index.html

测试结果:

This is ApacheBench, Version 2.3

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)

Completed 15000 requests

Completed 30000 requests

Completed 45000 requests

Completed 60000 requests

Completed 75000 requests

Completed 90000 requests

Completed 105000 requests

Completed 120000 requests

Completed 135000 requests

Completed 150000 requests

Finished 150000 requests

Server Software: nginx/1.8.0

Server Hostname: 127.0.0.1

Server Port: 80

Document Path: /index.html

Document Length: 612 bytes

Concurrency Level: 10000

Time taken for tests: 19.185 seconds

Complete requests: 150000

Failed requests: 0

Write errors: 0

Total transferred: 131180388 bytes

HTML transferred: 95121324 bytes

Requests per second: 7818.53 [#/sec] (mean)

Time per request: 1279.013 [ms] (mean)

Time per request: 0.128 [ms] (mean, across all concurrent requests)

Transfer rate: 6677.33 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 650 547.9 522 7427

Processing: 212 519 157.4 496 958

Waiting: 0 404 139.7 380 845

Total: 259 1168 572.1 1066 7961

Percentage of the requests served within a certain time (ms)

50% 1066

66% 1236

75% 1295

80% 1320

90% 1855

95% 2079

98% 2264

99% 2318

100% 7961 (longest request)

nginx看最大并发量_Nginx高并发配置思路(轻松应对1万并发量)相关推荐

  1. nginx高性能web服务器详解_Nginx服务器高性能优化轻松实现10万并发访问量

    原文:https://www.toutiao.com/i6804346550882402828 前面讲了如何配置Nginx虚拟主机,如何配置服务日志等很多基础的内容,大家可以去这里看看nginx系列文 ...

  2. nginx文件服务器5万并发量,Nginx服务器高性能优化-轻松实现10万并发访问量

    今天要说的是Nginx服务器高性能优化的配置,如何使Nginx轻松实现10万并发访问量.通常来说,一个正常的 Nginx Linux 服务器可以达到 500,000 – 600,000 次/秒 的请求 ...

  3. 减少访问量_Nginx服务器高性能优化轻松实现10万并发访问量

    今天要说的是Nginx服务器高性能优化的配置,如何使Nginx轻松实现10万并发访问量.通常来说,一个正常的 Nginx Linux 服务器可以达到 500,000 – 600,000 次/秒 的请求 ...

  4. nginx 带宽_Nginx优化配置,轻松应对十万并发

    Nginx现在已经是最火的web服务器之一,尤其在静态分离和负载均衡方面,性能十分优越.接下来我们主要看下Nginx在高并发环境下的优化配置,主要是针对 nginx.conf 文件的属性设置.我们打开 ...

  5. tnsnames.ora配置未生效_nginx高可用配置未生效问题跟踪

    事件回溯 1.nginx默认配置upstream时,会有失败检测,超过失败次数,则会在一定时间内不进行转发 2.参考我们线上配置为30秒内1次失败不再对该服务提供者进行转发 upstream prev ...

  6. 腾讯云4核8G轻量服务器12M支持多少访客同时在线?并发数怎么算?

    腾讯云轻量4核8G12M轻量应用服务器支持多少人同时在线?通用型-4核8G-180G-2000G,2000GB月流量,系统盘为180GB SSD盘,12M公网带宽,下载速度峰值为1536KB/s,即1 ...

  7. oom 如何避免 高并发_【高并发】高并发环境下如何防止Tomcat内存溢出?看完我懂了!!...

    [高并发]高并发环境下如何防止Tomcat内存溢出?看完我懂了!! 发布时间:2020-04-19 00:47, 浏览次数:126 , 标签: Tomcat 写在前面 随着系统并发量越来越高,Tomc ...

  8. mysql并发量_高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

    推荐阅读: 学会这些微服务+Tomcat+NGINX+MySQL+Redis,再去面试阿里P7岗吧 "火爆"的微服务架构你还不会?从基础到原理的PDF文档快来学! Nginx负载均 ...

  9. 数据库大数据量、高并发、高可用解决方案!

    数据库性能瓶颈 对于一些互联网项目来说,企业为节省成本,一般会考虑将所有的数据都存储在一个数据库中,这个时候我们只需要考虑数据库优化.SQL优化.数据缓存.限流,消息队列.服务器性能等问题. 阿里巴巴 ...

最新文章

  1. JavaScript String 对象扩展方法
  2. JZOJ 5630. 【NOI2018模拟4.4】Connection
  3. python怎么限制输出精度_谈谈关于Python里面小数点精度控制的问题
  4. Order asynchronous mode
  5. 创文html5作品,【《创文故事》纪录短片入围作品展播之七】引路人
  6. mysql join 循环_MySQL的JOIN(三):JOIN优化实践之内循环的次数
  7. 多线程的那点儿事(之C++锁)
  8. python_numpy的基础
  9. 保存好用的工具---转载
  10. 捷联惯导系统学习2.2(方向余弦)
  11. 谷歌FLASH无法添加保存网站
  12. css第八课:文本属性(字体,颜色属性)
  13. 使用proteus仿真STM32超声波SRF04测距!Code+Proteus
  14. 亿速云服务器清理,如何清理docker产生的垃圾文件
  15. 编译问题追踪 :Connect to maven.google.com:443 [maven.google.com/172.217.160.110] failed: Connection timed
  16. mysql数据库 auto_increment_MYSQL数据库中的auto_increment
  17. 留几手:互联网创业到底是咋回事(说得真经典,创业者不创业的都值得一看)
  18. linux安装xp系统安装教程视频教程,Linux系统怎么安装Win7?Linux下安装XP/WIN7系统图文详细教程...
  19. 记录一次oracle中count特别慢的解决方案
  20. 用pscp进行文件传输

热门文章

  1. Java内存泄露和内存溢出、JVM命令行工具、.JDK可视化工具、Java Class文件
  2. Linux中fork函数的作用及用法
  3. Black Hat 2021上的七大网络威胁趋势
  4. php怎么生成卡券签名,小程序卡券签名错误的解决方案
  5. 如何修改Series和DataFrame类型中的元素值_Redis的HSCAN命令中COUNT参数的失效场景
  6. vue.config.js配置
  7. Excel-数据分列的多种方法实现
  8. Java基础课程---权限修饰符
  9. AI学习---卷积神经网络
  10. String类型的字符长度(码点/代码单元的区别)