企业级Web Nginx 服务优化(2)

news/2024/7/9 17:22:45 标签: 运维, epoll, 操作系统

2.worker_cpu_affinity参数官方说明:

wKioL1ihWd6ioeQ9AABfDWlMeQs730.jpg-wh_50

wKiom1ihWfjTk6JPAABgw8BP9L8568.jpg-wh_50

查看cpu的核数的情况:[root@nginx-01 conf]# grep "physical" /proc/cpuinfophysical id	: 0address sizes	: 42 bits physical, 48 bits virtual

top命令很好记得总结

输入top 按 1 来进行查看。

3.压力测试配置结果:

a.配置前压力测试结果:

wKiom1ihWiuBjjXwAABkx73XOOI658.jpg-wh_50

wKiom1ihWk_hs5BsAABmm4jXNxs081.jpg-wh_50

通过观察,我们发现配置前不同CPU使用率相对平均。

b.配置worker_cpu_affinity后:

[root@nginx-01 conf]# grep worker_cpu nginx.conf
        worker_cpu_affinity 0001 0010 0100 1000;

压力测试结果如下:

wKiom1ihWoaAB_blAABaI9-eRMs232.jpg-wh_50

通过观察,我们发下配置后不同CPU使用率相对平均,和测试前变化不大。因此默认就比较平均,一方面是软件自身在逐渐的优化使用多核cpu,另一方面测试数据有待调整。

wKioL1ihWqixaNLOAABvmCrOxHg203.jpg-wh_50

  1. [root@nginx-01 conf]# man taskset

  2. TASKSET(1)                    Linux Users Manual                   TASKSET(1)

  3. NAME

  4.        taskset - retrieve or set a processs CPU affinity

  5. SYNOPSIS

  6.        taskset [options] mask command [arg]...

  7.        taskset [options] -p [mask] pid


其他服务可以来进行亲和 例如:mysql


wKioL1ihWtTSKnklAAAlSNgJIDs331.jpg-wh_50

1.1.5事件处理模型的优化

nginx 的连接处理机制在于不同的操作系统采用不同的IO模型,在linux使用epoll的IP多路服用的模型,在freebsd使用kqueue的IO多路服用模型,在solaris使用/dev/poll方式的IO多复用模型,在windows使用的是icop等等。

根据系统类型不同选择不同use[kqueue|rtsig|epoll|/dev/poll/select|poll];该参数结合系统使用,不同系统使用参数不同,我们使用的是Centos6.5,因此我们调整为epoll模型。

1.具体的配置参数如下:

wKiom1ihWvSzmZeJAABrm1CjaE0076.jpg-wh_50

2.官方说明:

wKioL1ihWxCgNaEsAAA1w7VUAH0164.jpg-wh_50

  1. [root@nginx-01 conf]# grep "epoll" nginx.conf

  2.     use epoll;

1.1.6调整单个进程允许的客户端最大的连接数

这个值是根据具体服务器性能程序的内存使用量来制定的(一个进程启动使用的内存根据程序确定)

wKioL1ihWzywc3aEAAByT92DMbs215.jpg-wh_50

worker_connections官方说明:

wKiom1ihW1ngMQYUAACH6yWOyD4832.jpg-wh_50

wKioL1ihW3Swcw5NAAHxDscbnno100.jpg-wh_50

wKioL1ihW43zbSRwAABryB6F4Bs025.png-wh_50

wKioL1ihW6jAGLJGAAPhxBhdGDo456.png-wh_50

wKioL1ihW7_zGLNCAAEiNJB3kok191.jpg-wh_50

这个是每个worker进程的客户端连接数是多少。

1.1.7配置每个进程最大文件打开数:

wKioL1ihW-zg0VQmAAAwpBKXKo4270.jpg-wh_50

worker_rlimit_nofilenumber官方说明

wKiom1ihXAryU-S9AAAxPMZhLuY343.jpg-wh_50

1.1.8优化服务器名字的hash表大小:

wKioL1ihXCvRTo9oAAD9Su5JrDA228.jpg-wh_50wKioL1ihXFPyjTZlAABYLKT3bek268.jpg-wh_50wKioL1ihXGixTBm3AACgoBi_AWo468.jpg-wh_50

出现了这种情况,那就需要将设置值扩大一倍:

wKioL1ihXJGRCN71AAARLO4VS1s500.jpg-wh_50

wKiom1ihXKqwJiw6AACmhY0tuQ0956.jpg-wh_50

server_names_hash_max_size:

wKiom1ihXOzAy3PaAABqwTQDQgc289.jpg-wh_50

1.1.19开启高效文件传输模式

wKiom1ihXQvBxe7EAABVgoWzqXI341.jpg-wh_50

wKioL1ihXSKwUCe-AACH_D_zvCk917.jpg-wh_50










本文转自 妙曼  51CTO博客,原文链接:http://blog.51cto.com/yanruohan/1897309,如需转载请自行联系原作者

http://www.niftyadmin.cn/n/1622330.html

相关文章

什么类型用equals()比较,什么类型用==比较

在 java 中进行比较,我们需要根据比较的类型来选择合适的比较方式: 对象:使用 equals。 枚举:使用 equals 或 。 可能为 null 的对象 : 使用 和 equals 。 数组 : 使用 Arrays.equals 。 原始数据类型(除 float 和 double 外…

Hyper-V 2012实时迁移

Windows Server 2012已经推出很久了,今天我也有幸在生产环境中感受了一下实施迁移功能,但在做迁移过程中遇到的问题和过程想与大家分享一下,希望大家在生产环境进行实施迁移时有所参考: 首先2台服务器的系统都必须是Windows Serve…

Eclipse删除多余空行有快捷键?

在eclipse中删除某一行就用baictrlD快捷键du。 如果想删除一个文件中的所有zhi空行。dao可以用下面方法。 1、打开源码zhuan编shu辑器 2、使用快捷键Ctrlf 3、在Find输入框中输入:^\s*\n 4、Replace With输入框的值为空 5、在【Options】选中的"Regular expres…

ASP.NET 2.0 XML 系列(3): .Net Framework中XML类

System.Xml 包含了一些和XML文档的读写操作相关的类,它们分别是:XmlReader、XmlTextReader、XmlValidatingReader、 XmlNodeReader、XmlWriter、XmlTextWriter 以及 XmlNode(其子类包括:XmlDocument、XmlDataDocument、XmlDocumen…

sublime text3的基本使用

1、怎样在左侧建文件夹,直接右键只出现新建文件呀? 在本地电脑建一个空文件夹,然后拖拽到sublime的左侧栏,文件夹就在这里了。 然后你就可以右键文件夹--新建文件了。 2、怎样在sublime里创建简单的html模板? 第一步…

最全面的常用正则表达式大全

很多不太懂正则的朋友在遇到需要用正则校验数据时往往是在网上去找很久结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下在这里分享一下。给自己留个底也给朋友们做个参考。 一、校验数字的表达式 1 数字^[0-9]*$ 2 n位的数字^d{n}$ 3 至少n位的…

日常日本語3

新入社員に言葉遣いを習得させる際、こうした「よく使うのに言いなれていない」表現を重点的に教えるというのも合理的な方法と言えます。一般に仕事の場でよく使われる言葉を下に示しました。これを参考にしながら,自職場や業界で必須の言い回しをリストアップしてまとめると、…

如何让.vue文件在sublime中显示高亮和智能提示

在Sublime Text 2.5中编写vue文件时,会发现没有代码智能提示,清一色的黑底白字,不会像html、js一样变成彩色,给我们带来了很大的不便。所以需要安装一款叫作Vue Syntax Highlight的插件,它不仅可以使代码高亮起来&…