NGINX并发量优化

一、压力测试

命令:ab -c 2000 -n 2000 web服务器的地址

ab:压力测试工具

-c:client缩写,客户端的数量

-n:总的访问量,所有客户端总共的访问量。

地址:域名或者IP地址,但是注意不管是域名还是IP地址,后面必须加上“/”。如:http://192.168.0.6/

二、并发量优化

2.1、修改nginx配置文件

修改nginx运行时打开的进程数,这个值和cpu的核数有关,保持和CPU的核数一致。  

如上述可见,cpu的核数不同,nginx并发量优化时,work_processes值和CPU的核数保持一致。

客户端最大连接数优化,这个值默认为1024,这也是ab  -c 2000 -n 2000 http://192.168.0.201/报错的原因。修改为65535,一个不可能达到的值。 

2.2、修改系统限制(内核参数)

这两个值的修改命令

临时修改,立即生效,无需重启。

ulimit -Hn  50000             #临时有效,重启后恢复默认值1024

ulimit -Sn  50000             #临时有效,重启后恢复默认值1024

-H:硬修改,修改后打开文件数不能超过这个数

-S:软修改,修改后打开文件数可以超过这个数

-n:这个上图中50000数值钱那个括号里面的-n

永久修改,重启生效,需重启服务器。

修改配置文件,/etc/security/limits.conf

三、优化后的测试。

未优化前,并发量超过2000,就会报错。提示打开过多的文件。

NGINX并发量优化的更多相关文章

  1. Nginx并发访问优化

    Nginx反向代理并发能力的强弱,直接影响到系统的稳定性.安装Nginx过程,默认配置并不涉及到过多的并发参数,作为产品运行,不得不考虑这些因素.Nginx作为产品运行,官方建议部署到Linux64位 ...

  2. nginx简介(轻量级开源高并发web服务器:大陆使用者百度、京东、新浪、网易、腾讯、淘宝等)(并发量5w)(一般网站apache够用了,而且稳定)

    nginx简介(轻量级开源高并发web服务器:大陆使用者百度.京东.新浪.网易.腾讯.淘宝等)(并发量5w)(一般网站apache够用了,而且稳定) 一.总结 1.在连接高并发的情况下,Nginx是A ...

  3. linux nginx常见问题及优化,压力测试,tomcat服务器优化

    nginx常见问题 nginx优化全局配置优化[root@web2 nginx]# vim conf/nginx.confuser nobody;worker_processes 1;(与cpu核心数 ...

  4. 【转载】nginx 并发数问题思考:worker_connections,worker_processes与 max clients

    注:这个文章主要是作者一直在研究nginx作为http server和反向代理服务器时候所谓最大的max_clients和 worker_connections的计算公式, 其实最后的结论也没有卡上公 ...

  5. nginx配置优化提高并发量

    1 nginx配置优化提高并发量 worker_processes 2; 这个按照CPU的核数来决定 2 worker_connections 65535; 这个一般设置65535即可 每个进程允许的 ...

  6. Nginx优化防爬虫 限制http请求方法 CDN网页加速 架构优化 监牢模式 控制并发量以及客户端请求速率

    Nginx防爬虫优化 Robots协议(也称为爬虫协议,机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可 ...

  7. Nginx优化_访问并发量(进程可以打开的最大文件数量)

    如果客户端访问服务器提示“Too many open files”如何解决? [root@proxy ~]# ab -n 2000 -c 2000 http://192.168.1.100/    # ...

  8. nginx性能优化(针对于高并发量仅供参考,并不是方案)

    目录 关于nginx.conf中的优化 配置nginx客户端网页缓存本地时间 nginx日志切割 nginx连接超时优化 Nginx 实现网页压缩功能 Nginx 实现防盗链功能 为目录添加访问控制 ...

  9. 优化Nginx并发访问量

    通过修改Nginx配置文件,优化linux内核参数,实现高并发测试. 1.优化前使用ab高并发测试 [root@proxy ~]# ab -n 2000 -c 2000 http://192.168. ...

随机推荐

  1. c# .net framework 4.5.2 , Quartz.NET 3.0.7

    参考了:https://www.cnblogs.com/personblog/p/11277527.html, https://www.jianshu.com/p/b8e7e4deb60a .NET ...

  2. [源码]Python调用C# DLL例子(Python与.Net交互)

    K8Cscan C# DLL例子代码 namespace CscanDLL { public class scan { public static string run(string ip) { if ...

  3. centos7查看防火墙状态、关闭防火墙

    查看防火墙状态: firewall-cmd --state 关闭防火墙: systemctl stop firewalld.service 禁止firewall开机启动: systemctl disa ...

  4. (语法基础)浅谈面向切面编程(AOP)

    一:前言 面向切面编程是一个很重要的编程思想,想要写出一个便于维护的程序,理解AOP并且能熟练的在实际编程中合理的运用AOP思想是很有必要的 二:AOP的基本概念 基础概念:AOP中文翻译面向切面编程 ...

  5. [转帖]使用 Vagrant 打造跨平台开发环境

    使用 Vagrant 打造跨平台开发环境 https://segmentfault.com/a/1190000000264347 Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/p ...

  6. Node.js 开发指南-读书笔记

    1. Node.js 使用了单 线程.非阻塞的事件编程模式 Node.js 最大的特点就是采用异步式 I/O 与事件驱动的架构设计.对于高并发的解决方 案,传统的架构是多线程模型,也就是为每个业务逻辑 ...

  7. Java集合框架(Java总结五)

    ”https://www.runoob.com/java/” 集合接口区别 List 接口存储一组不唯一,有序(插入顺序)的对象,允许有相同的元素. Set 接口存储一组唯一,无序的对象,不保存重复的 ...

  8. 唯一ID生成器--雪花算法

    在微服务架构,分布式系统中的操作会有一些全局性ID的需求,所以我们不能用数据库本身的自增功能来产生主键值,只能由程序来生成唯一的主键值.我们采用的是twitter的snokeflake(雪花)算法. ...

  9. Compact Middle Packages

    idea工具进行Java开发,在项目视图,默认是将package层级以简洁显示的,如下图: 但有时,我们希望不要使用这种模式,比如:某个父包下,有一个子包,想在父包下,增加一个包,可是来时增加在子包下 ...

  10. springcolud 的学习(一),架构的发展史

    一.传统架构 传统的SSH架构,分为三层架构 web控制层.业务逻辑层.数据库访问层. 传统架构也就是单点应用,就是大家在刚开始初学JavaEE技术的时候SSH架构或者SSM架构,业务没有进行拆分,都 ...