企业级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,如需转载请自行联系原作者
目录
相关文章
|
14天前
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
57 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
4月前
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
82 9
|
4月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
229 5
|
9天前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
41 7
|
4月前
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
209 69
|
2月前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
164 3
|
3月前
|
负载均衡 前端开发 JavaScript
Nginx 代理多服务
以上是 Nginx 代理多服务的几种常见方式,在实际应用中,可以根据具体的业务需求和系统架构选择合适的代理方式,并结合其他 Nginx 的功能和配置来优化和完善系统的性能和功能。
|
3月前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
79 3
|
3月前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
47 1
|
3月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。

热门文章

最新文章

  • 1
    打造高效的Web Scraper:Python与Selenium的完美结合
    13
  • 2
    Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
    26
  • 3
    AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
    20
  • 4
    【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
    56
  • 5
    部署使用 CHAT-NEXT-WEB 基于 Deepseek
    358
  • 6
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 7
    java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
    41
  • 8
    零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
    28
  • 9
    【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
    22
  • 10
    FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
    57