企业级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,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
65 9
|
3月前
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
183 69
|
1月前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
60 3
|
2月前
|
负载均衡 前端开发 JavaScript
Nginx 代理多服务
以上是 Nginx 代理多服务的几种常见方式,在实际应用中,可以根据具体的业务需求和系统架构选择合适的代理方式,并结合其他 Nginx 的功能和配置来优化和完善系统的性能和功能。
|
2月前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
57 3
|
2月前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
27 1
|
2月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
3月前
|
XML JSON 安全
定义Web服务
【10月更文挑战第18天】定义Web服务
84 12
|
3月前
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。
|
3月前
|
XML 关系型数据库 MySQL
Web Services 服务 是不是过时了?创建 Web Services 服务实例
本文讨论了WebServices(基于SOAP协议)与WebAPI(基于RESTful)在开发中的应用,回顾了WebServices的历史特点,比较了两者在技术栈、轻量化和适用场景的差异,并分享了使用VB.net开发WebServices的具体配置步骤和疑问。
57 0