如何使 nginx 支撑更高并发
/**
*
*
*
* 如何使 nginx 支撑更高的并发?
* 原理:
* 服务器方面可以从两个方面阐述:
* 1、socket 链接方面:因为每次请求都是一次连接,而 nginx 服务器配置方面默认没有配置那么高的连接数,所以先要加大 nginx 的连接数。【要求内存要大】。
* 2、文件打开方面:nginx 能否一次性被打开那么多的文件【默认一个进程能打开 1024 个文件】。
*
* 配置方式:
* 一、socket 链接方面改进【每次请求都是一次链接】
* 1、nginx 方面
* 子进程允许打开最大链接(worker_connections)
* nginx》vim conf/nginx.conf
* worker_connections 10240; #调大连接数
* wq
*
*
* 2、系统层面改进
* ①最大连接数(打开尽量多的链接):somaxconn。
* nginx》more /proc/sys/net/core/somaxconn #查看允许打开最大连接数
* nginx》echo 50000 > /proc/sys/net/core/somaxconn
* ②加快 tcp 链接的回收(tcp 链接断开时有个延迟,消除这个延迟,消除占用):tcp_tw_recycle。
* nginx》cat /proc/sys/net/ipv4/tcp_tw_recycle #0 为不开启回收
* nginx》echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle #1 为开启快速回收
* nginx》vim conf/nginx.conf
* keepalive_timeout 0; #此配置选项改为 0 (是链接后立马断开,其他数为链接后保持多少秒。):是因为在 http1.1 协议中响应头有个 Connection 的 value 如果是 keep-alive 说明连接后保持连接【好处是减少链接,链接一次拿多个东西,如css文件,弊端是占用 tcp 链接】;如果是 close 说明是链接后断开【好处是加快回收 tcp 链接,链接、断开;坏处是增加了链接】。可折中的设置为 2-3。
* ③空的 tcp 链接是否允许回收利用(就是失败的 tcp 链接):reuse。
* nginx》echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse #1 开启回收利用
* ④洪水攻击(默认 nginx 在超多并发访问时会当做是洪水攻击,所以会做相应抵御)。
* nginx》more /proc/sys/net/ipv4/tcp_syncookies #1 为开启抵御
* nginx》echo 0 > /proc/sys/net/ipv4/tcp_syncookies #0 为关闭抵御
*
*
* 二、文件打开方面【一个进程有打开文件的限制】
* 1、nginx 方面
* 子进程允许打开的文件数:worker_limit_nofiles
* vim /usr/local/nginx/conf/nginx.conf
* worker_rlimit_nofile 10000; #手动写入配置文件【写在 worker_processes 下面】。
* 2、系统层面
* ulimit -n 返回系统可一次允许打开文件最大个数。
* ulimit -n 30000 #修改系统可一次打开最大文件个数
*
*
*
*
*
* /usr/local/nginx/sbin/nginx -s reload #修改完配置,重启
* /usr/local/httpd/bin/db -c 2000 -n 100000 http://www.dengwenbo.xin/in.php #并发测试
* 192.168.1.202/status #浏览器访问,查看测试状态
* 参数: Active connectons:?? #当前活动数量
*
*/
如何使 nginx 支撑更高并发的更多相关文章
- nginx、swoole高并发原理初探
阅前热身 为了更加形象的说明同步异步.阻塞非阻塞,我们以小明去买奶茶为例. 同步与异步 同步与异步的重点在消息通知的方式上,也就是调用结果通知的方式. 同步:当一个同步调用发出去后,调用者要一直等待调 ...
- nginx如何实现高并发
nginx如何实现高并发 简单来讲,就是异步,非阻塞,使用了epoll和大量的底层代码优化. 稍微详细一点展开的话,就是nginx的特殊进程模型和事件模型的设计. 进程模型 nginx采用一个mast ...
- nginx应用 突破高并发的性能优化
摘自:http://www.cnblogs.com/kevingrace/p/6094007.html 在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并发导致的性能瓶颈问题. ...
- nginx+lua+redis高并发应用建设
ngx_lua将lua嵌nginx,让nginx运行lua脚本.高并发,非堵塞过程中的各种请求. url要求nginxserver,然后lua查询redis,返回json数据. 一.安装lua-ngi ...
- Nginx:论高并发,在座各位都是渣渣
NGINX 在网络应用中表现超群,在于其独特的设计.许多网络或应用服务器大都是基于线程或者进程的简单框架,NGINX突出的地方就在于其成熟的事件驱动框架,它能应对现代硬件上成千上万的并发连接. NGI ...
- nginx + uWSGI 为 django 提供高并发
django 的并发能力真的是令人担忧,这里就使用 nginx + uwsgi 提供高并发 nginx 的并发能力超高,单台并发能力过万(这个也不是绝对),在纯静态的 web 服务中更是突出其优越的地 ...
- 面试中的nginx高可用高并发!
本文转自:91博客:原文地址:http://www.9191boke.com/439923471.html 面试题: nginx高可用?nginx 是如何实现并发的?为什么nginx不使用多线程?ng ...
- 面试题:Nginx 是如何实现高并发?常见的优化手段有哪些?
面试题: Nginx 是如何实现并发的?为什么 Nginx 不使用多线程?Nginx常见的优化手段有哪些?502错误可能原因有哪些? 面试官心理分析 主要是看应聘人员的对NGINX的基本原理是否熟悉, ...
- Nginx高并发实现原理以及常用的优化手段
Nginx 是如何实现高并发的? 异步,非阻塞,使用了epoll 和大量的底层代码优化. 如果一个server采用一个进程负责一个request的方式,那么进程数就是并发数.正常情况下,会有很多进程一 ...
随机推荐
- MLPclassifier,MLP 多层感知器的的缩写(Multi-layer Perceptron)
先看代码(sklearn的示例代码): from sklearn.neural_network import MLPClassifier X = [[0., 0.], [1., 1.]] y = [0 ...
- javascript系列-class4.函数
欢迎加入前端交流群来py: 转载请标明出处! 在火影的世界中存在忍术,忍术是把强大的能量集中在一起以各种各样不同的形式发射出来.怎样使用各种各样的忍术那?通过结印. ...
- Objective-C —内存管理(上)
内存管理 一.为什么要进行内存管理 移动设备的内存极其有限,每个app所能占用的内存是有限制的 下列行为都会增加一个app的内存占用 创建一个OC对象 定义一个变量 调用一个函数或者方法 内存占用多大 ...
- js 40 个技巧
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键<table border oncontextmenu= ...
- C#多播委托和事件的区别与关系
事件是对委托的封装. 如果一个类里,你把一个委托声明为 public 了,那么外部就可以随意改变委托变量的值,包括清空委托变量等,这样的话就违背了面向对象思想的封装特性:但如果声明为 private ...
- 运维派 企业面试题6 防dos攻击
Linux运维必会的实战编程笔试题(19题) 企业实战题6:请用至少两种方法实现! 写一个脚本解决DOS攻击生产案例 提示:根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到 ...
- map、栈————下一个更大的元素(待定,栈解法学习中)
方法一 先遍历nums2,将每个元素后面第一个大的元素一起存入到map中,然后在遍历nums1,在map中找到. class Solution { public: vector<int> ...
- 关于PY的推导式
列表推导式: In [26]: [i*2 for i in range(10)] Out[26]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] 字典推导式: In [29] ...
- Linux下重启mysql数据库的方法
原文地址:Linux下重启mysql数据库的方法作者:于士博的视频教程 方法一: 命令: [root@localhost /]# /etc/init.d/mysql start|stop|rest ...
- luogu P3604 美好的每一天(莫队+二进制)
这个题还是可以的. 但是卡常卡得我心力憔悴.还是太菜了 我们把一个区间当做一个26位二进制数,每一位代表一个英文,二进制数的每一个位0代表这一位对应的字母出现了偶数次,否则出现了奇数次. 那么一个区间 ...