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

简介:

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,如需转载请自行联系原作者
目录
相关文章
|
6天前
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
25 9
|
18天前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
63 5
|
6天前
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
110 69
|
6天前
|
XML JSON 安全
定义Web服务
【10月更文挑战第18天】定义Web服务
26 12
|
7天前
|
机器学习/深度学习 缓存 监控
利用机器学习优化Web性能和用户体验
【10月更文挑战第16天】本文探讨了如何利用机器学习技术优化Web性能和用户体验。通过分析用户行为和性能数据,机器学习可以实现动态资源优化、预测性缓存、性能瓶颈检测和自适应用户体验。文章还介绍了实施步骤和实战技巧,帮助开发者更有效地提升Web应用的速度和用户满意度。
|
20天前
|
SQL 关系型数据库 数据库
优化Web开发流程:Python ORM的优势与实现细节
【10月更文挑战第4天】在Web开发中,数据库操作至关重要,但直接编写SQL语句既繁琐又易错。对象关系映射(ORM)技术应运而生,让开发者以面向对象的方式操作数据库,显著提升了开发效率和代码可维护性。本文探讨Python ORM的优势及其实现细节,并通过Django ORM的示例展示其应用。ORM提供高级抽象层,简化数据库操作,提高代码可读性,并支持多种数据库后端,防止SQL注入。Django内置强大的ORM系统,通过定义模型、生成数据库表、插入和查询数据等步骤,展示了如何利用ORM简化复杂的数据库操作。
49 6
|
19天前
|
缓存 前端开发 JavaScript
探索现代Web开发中的前端性能优化策略
【10月更文挑战第5天】探索现代Web开发中的前端性能优化策略
|
22天前
|
前端开发 Java API
JAVA Web 服务及底层框架原理
【10月更文挑战第1天】Java Web 服务是基于 Java 编程语言用于开发分布式网络应用程序的一种技术。它通常运行在 Web 服务器上,并通过 HTTP 协议与客户端进行通信。
15 1
|
23天前
|
缓存 前端开发 JavaScript
|
23天前
|
应用服务中间件 网络安全 nginx
nginx作为web服务以及nginx.conf详解
nginx作为web服务以及nginx.conf详解