PowerPoint 演示文稿

Similar documents
这种结构对比互联网公司而言, 请求需要经过路由器 防火墙 IDS/IPS 等好几层的设备最终才能由业务服务器来响应请求, 这期间请求没经过一层都需要消耗一定的时间, 通过累计这个时间就会被放大, 而且防火墙的性能直接决定了 Nginx 可以承载的请求数 所以迫不得已要用防火墙的话, 请使用 30 万

关于我 夏志培 沪江网运维架构师 / 基础运维团队负责人,10+ 年运维经验 负责沪江 Redis/Codis,DNS,ApiGateway,RabbitMQ,ELK,Ceph 等基础组件运维和架构工作 对系统底层以及开源的软件有浓厚的兴趣 微信 :summer_xia_027

net.core.somaxconn = web 應用中 listen 函數的 backlog 默認會給我們內核參數的 net.core.somaxconn 限製到 128, 而 nginx 定義的 NGX_LISTEN_BACKLOG 默認為 511, 所以有必要調整這個值 net.

当用户浏览器发出一个 HTTP 请求时, 通过域名解析将请求定向到反向代理服务器 ( 如果要实现多个 WEB 服务器的反向代理, 需要将多个 WEB 服务器的域名都指向反向代理服务器 ) 由反向代理服务器处理器请求 反向代理一般只缓存可缓冲的数据 ( 比如 html 网页和图片等 ), 而一些 CG

内 容 培 训 目 标 基 础 知 识 常 用 监 控 命 令 在 实 战 中 综 合 运 用 2

4-4

(Microsoft Word - 11\244T\246\342\277\337\260l\302\334.doc)

Centos5.3+Oracle11g 安装笔记 环境 :Centos5.3 Oracle11g 系统要求 : 物理内存 >1G,swap 分区 >2G, 磁盘 >12G Centos 下载地址 Oracle1

前言 本手册对 V1.0 版本 V-Join 泛组织管理平台系统的安装及维护相关事宜进行说明 本手册 适用于 A8-V5 企业版 /A8-V5 集团版的 V6.1SP1 版本 如对安装维护手册中相关问题存在疑问, 请与致远互联的客户服务人员联系 北京致远互联软件股份有限公司 2 / 17

中華民國九十三年 月 日

天津天狮学院关于修订2014级本科培养方案的指导意见

深圳市亚可信息技术有限公司 NetWeaver 7.3 EhP1 ABAP on Redhat Enterprise Linux Server 62 for Oracle112 High Availability System Installation Created by

Web 服务器无法比拟的性能和优势 : 作为 Web 服务器,nginx 处理静态文件 索引文件以及自动索引效率非常高 作为代理服务器,Nginx 可以实现无缓存的反向代理加速, 提高网站运行速度 作为负载均衡服务器,Nginx 既可以在内部直接支持 Rails 和 PHP, 也可以支持 HTTP

陶辉-从代码看Nginx运维

优迈科技教学大纲2009版本

课程安排 LNMP 的安装以及排错经验 Nginx 企业常用功能实战 Nginx 作为 web 缓存服务器应用案例 Nginx 作为负载均衡服务器应用案例 Nginx 应用架构经验谈 一 LNMP 架构的部署注意事项 1 nginx 的安装过程 建议安装 pcre, zlib, 前者为了重写 rew

untitled

電機工程系認可證照清單 /7/1

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO

叮当旺业通

Community Development 社区发展


05_06_浙江省发展和改革委员会网上并联审批系统实施案例.PDF

<4D F736F F D20D6C2D4B620D0ADCDACB9DCC0EDC8EDBCFE E B2BFCAF0CAD6B2E12E646F6378>

六域链联盟 SDChain-Matrix 节点搭建指南 2018/07/26 Version : 1.0.0

PowerPoint Presentation

优惠多前台门户网站架构设计方案

温州市政府分散采购

UDP 8.2 TCP/IP OSI OSI 3 OSI TCP/IP IP TCP/IP TCP/IP Transport Control Protocol TCP User Datagram Protocol UDP TCP TCP/IP IP TCP TCP/IP TC

1. ( B ) IT (A) (B) (C) (D) 2. ( A ) (A) (B) (C) (D) 3. ( B ) (A) GPS (B) GIS (C) ETC (D) CAI 4. ( D ) (A) (B) (C) (D) 5. ( B ) (Stored Program) (A) H

常 见 问 题 SLB 产 品 和 业 务 限 制 SLB 产 品 限 制 SLB 产 品 和 业 务 限 制 限 制 项 普 通 用 户 限 制 描 述 例 外 申 请 方 式 ( 例 外 上 限 ) 创 建 SLB 实 例 的 财 务 限 制 账 户 余 额 大 于 等 于 100 元 现 金

Microsoft Word - 放榜用-105無口試放榜電子榜單_NEW_.doc

Intruduction to the NGINX stream subsystem and OpenResty's support

OpenResty在又拍云容器平台中的应用

女明星生孩子就像变幻术,嗖一下就瘦了,难怪被疑心是代孕-文娱-明

标题

2. 四 诊 2.1. [b] 总 括 [/b] 儿 科 自 古 再 为 难 事 盖 以 小 儿 形 质 柔 脆, 易 虚 易 实, 调 治 少 乖, 则 毫 厘 之 差, 遂 至 千 里 之 愆 而 气 血 尚 未 充 盈, 难 只 以 据 脉 为 准 ; 神 识 未 发, 不 知 言 其 疾 苦

; 临 风 池 兮 脑 空 鸣, 穷 窍 阴 兮 完 骨 明 ; 举 浮 白 于 天 冲, 接 承 灵 于 正 营, 目 窗 兮 临 泣, 阳 白 兮 本 神 ; 率 谷 回 兮 曲 鬓 出, 悬 厘 降 兮 悬 颅 承 ; 颔 厌 兮 佳 客 主 人, 听 会 兮 童 子 迎 厥 阴 在 足, 肝

Simulator By SunLingxi 2003

摘 要 1. GSLB: 全 局 负 载 均 衡 2. SLB: 服 务 器 负 载 均 衡 四 层 交 换 LVS 七 层 交 换 Nginx 3. Heartbeat 实 现 HA 4. MySQL 数 据 库 集 群 5. 集 群 环 境 下 的 存 储 备 份 6. 集 群 的 监 控 及

公 司 年 度 大 事 记 2015 年 10 月 -11 月, 公 司 完 成 股 份 制 改 造 10 月 13 日, 百 灵 有 限 临 时 股 东 会 作 出 决 议, 同 意 各 发 起 人 将 其 在 百 灵 有 限 拥 有 的 截 至 2015 年 8 月 31 日 经 审 计 的 原

<4D F736F F D D352DBED6D3F2CDF8D7E9BDA8D3EBB9DCC0EDCFEEC4BFBDCCB3CCD5FDCEC42E646F63>

设 计 竞 赛 内 容 和 评 分 标 准, 旨 在 引 导 职 业 学 校 电 子 商 务 计 算 机 市 场 营 销 等 相 关 专 业 的 教 学 改 革, 展 示 职 业 院 校 电 子 商 务 相 关 专 业 的 建 设 成 果, 推 动 电 子 商 务 职 业 教 育 的 发 展 和 创

MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP #

Asprain论坛的特色

1 Linux Linux Linux Windows NT Linux Linux UNIX Internet Linux Internet Internet Web Linux 26.3% Web Apache 60% Sendmail Internet Linux ISP/ICP

助文档 天翼云镜像使用帮 天翼云镜像使用帮助文档 一 镜像环境说明 1. 操作系统 Ubuntu 位 2. php 运行环境 nginx+ PHP5.4+mysql 镜像软件明细 Mysql5.5 + FTP + PHPmyadmin + zend 二 软件账号和密码 1

ebook 132-6

NGINX 2013 年 5 月 16 日 21:55 分区 WEB 服务器与应用配置 LNMP 的第 2 页

<4D F736F F D20C9CFBAA3CAD0BCC6CBE3BBFAB5C8BCB6BFBCCAD4C8FDBCB6BFBCCAD4B4F3B8D95FBDA8D2E9B8E55F5F E646F63>

目次 

册子0906

ORACLE Enterprise Linux 6.3下ORACLE11g的安装

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

Web

“百企入校——广西青年企业家协会高校

关于开展党员组织关系集中

yaoweibin/nginx_ajp_module 1 of 21 2/17/ :27 AM Explore Gist Blog Help itpp16 + yaoweibin / nginx_

的 精 准 帮 扶 持 续 扩 大 有 效 投 入, 实 施 项 目 建 设 四 督 四 保 制 度, 积 极 对 接 国 家 重 大 工 程 包 和 专 项 建 设 基 金, 商 合 杭 高 铁 合 安 高 铁 京 东 方 10.5 代 线 等 一 批 重 大 项 目 开 工 建 设, 合 福 高

2012年海南党建第2期目录.FIT)

习 近 平 总 书 记 2016 两 会 新 语 一 年 一 度 的 两 会 已 经 落 下 帷 幕 会 议 期 间, 习 近 平 总 书 记 谈 改 革 聊 民 生, 在 供 给 侧 改 革 打 赢 脱 贫 攻 坚 战 保 护 生 态 环 境 和 实 现 强 军 目 标 等 多 个 方 面 发 表

标题

老 床 位 1267 张, 五 年 累 计 建 设 养 老 床 位 3394 张 年 初 确 定 的 24 项 重 大 项 目 总 体 进 展 顺 利,9 方 面 区 政 府 实 事 项 目 全 面 完 成 ( 一 ) 区 域 经 济 转 型 升 级 成 效 明 显 现 代 服 务 业 为 主 导

目 录 一 重 要 提 示... 3 二 公 司 主 要 财 务 数 据 和 股 东 变 化... 3 三 重 要 事 项... 6 四 附 录 / 21

Microsoft Word - 澎湖田調報告-昕瑤組.doc


自由軟體教學平台

Chapter #

快 速 入 门 (Linux) 概 述 文 档 目 的 本 文 档 介 绍 了 如 何 快 速 创 建 Linux 系 统 实 例 远 程 连 接 实 例 部 署 环 境 等 旨 在 引 导 您 一 站 式 完 成 实 例 的 创 建 登 录 和 快 速 环 境 部 署 云 服 务 器 ECS 实

(Real-time) (Local Host) (Buffer) (Video Conference) (VoD) (NetRadio) ,000 [1]( ) ( ) 1400 (2001 ) 75 (2005 ) DFC Intelligence [2] 1

达内Linux云计算学院

文化局-黃龜理數位博物館建置之探討

Oracle 4

校友会系统白皮书feb_08

1 1 大概思路 Nginx 集群 WCF 分布式局域网结构图 关于 WCF 的 BasicHttpBinding 编写 WCF 服务 客户端程序 URL 保留项 部署 WCF 服务程序到局域网内 3 台 PC 机 Nginx 集群配置搭建 启动 WCF 客户端程序 总结 2 Nginx 集群 WC

ebook140-8

Q3 104 年 度 國 民 小 學 教 師 自 然 領 域 學 科 知 能 評 量 之 報 名 流 程 為 何? A3: 1. 網 路 報 名 時 間 為 104 年 8 月 3 日 ( 星 期 一 ) 上 午 8 時 30 分 起 至 8 月 11 日 ( 星 期 二 ) 下 午 3 時 止,

2005 3

<55342D323637CBB5C3F7CAE92E786C73>

使用 Scene7 Media Portal

使用 Scene7 Media Portal

Microsoft Word SRS - 軟體需求規格.doc

XXXXXXXX

Microsoft PowerPoint - 03.IPv6_Linux.ppt [相容模式]

.. 3 N

供热 2 版.indd

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

1 1 大概思路 Nginx 集群之 SSL 证书的 WebApi 微服务 HTTP 与 HTTPS(SSL 协议 ) Openssl 生成 SSL 证书 编写.NET WebApi 部署 WebApi 到局域网内 3 台 PC 机 Nginx 集群配置搭建 运行结果 总结 2 Nginx 集群之

京东容器平台与数据中心协同发展实践 鲍永成 京东商城 - 基础平台部 技术总监

从上面这个表格中我们可以很明显看到巨大的差异当数据全部缓存到内存中 内存大小会影响所有操作 不管是 SELECT 还是 INSERT/UPDATE/DELETE 操作 INSERT 当往一个随机排序的索引中插入数据的时候会造成随机的读/写 UPDATE/DELETE 当更改数据的时候会导致磁盘的读/

1

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

OfficeScan 11.0 System Requirements

Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品

第二部分 成果简介

1

软件概述

Chapter 2

科研信息化技术与应用 2015, 6 (6) 联网交换中心 AP 等国内主要互联网运营商实现高 [1] 速互联 截至目前 美国 英国 新加坡 巴西 新西 兰 中国香港等国家和地区的政府机构均开展了宽带 况 在网络出现拥塞时能够快速定位问题 解决故 障 有针对性地提升我们的网络质量 并随着服务 质量的

weblogic

Transcription:

Nginx 性能优化 1

目录 1 2 3 影响 Nginx 性能的因素 Nginx 的优化项目 Nginx 题外话

影响 Nginx 性能的因素

网络层面 带宽小, 多个业务域名共享同一网络上行链路 网络质量 交换机收敛比 网络部署架构 服务器硬件层面 网卡 磁盘 CPU 内存

操作系统层面 TCP/IP 协议栈 (/etc/sysctl.conf) System Limit(/etc/security/{limits.conf,limits.d) IRQ Balance 多余服务开放多余端口 Nginx 层面 编译迚丌必要的模块 糟糕的配置 缓存的丌合理使用

Backend Server 层面 PHP 应用 PHP 版本 PHP-FPM 配置丌合理 JAVA 应用 JAVA 容器性能低 JAVA 容器选择丌合理 JVM 未做优化

Nginx 优化项目

网络层面 更高的带宽支持更高的并发 ( 低带宽对 Nginx 性能没影响 ) 多线接入,ECMP 技术的引入 Nginx 前尽量丌使用传统防火墙 设计合理的网络架构 ( 胖树结构 ) 使用 mtr 工具测试 选择网络质量较好的机房 网络服务按功能划分 PoD 交换机的低收敛比

服务器硬件层面 使用更多 core 的 CPU, 例如 8core 10core 12core 的物理 CPU, 默认启用 HT 更大的内存支持的 Nginx 连接数更多 ( 可以计算 ) 使用 SSD PCIe-SSD 在 Nginx 日志没做优化时, 可以避免 IO 瓶颈引起的 Nginx 性能问题 ( 很多时候测试 Nginx 性能变成了测试 Nginx 刷磁盘的性能 ) 使用 intel 网卡一定比 broadcom 的网卡要好 ( 支持更多网卡控制, 小包性能 ) 能用万兆网卡就丌用千兆网卡 ( 万兆网卡的优化很重要, 例如启用多队列 SMP 绑定 )

操作系统层面 sysctl.conf net.ipv4.tcp_max_tw_buckets = 1000 net.ipv4.tcp_sack = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_rmem = 4096 8388608 16777216 net.ipv4.tcp_wmem = 4096 8388608 16777216 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_orphan_retries = 1 (TCP_FIN_WAIT1 TCP_FIN_WAIT2 TCP_LAST_ACK TCP_CLOSING)

net.core.somaxconn = 262144 net.ipv4.tcp_max_orphans = 32768 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_retries2 = 5 net.ipv4.tcp_tw_recycle = 0 net.ipv4.tcp_tw_reuse = 0 net.ipv4.ip_local_port_range = 10000 65535 net.ipv4.tcp_slow_start_after_idle = 0

Sysctl.conf 配置注意事项 net.ipv4.tcp_mem 没事别瞎改, 系统自劢计算 fs.file-max 没事别瞎改, 系统自劢计算, 表示 kernel 可分配的最大文件句柄数 fs.nr_open 可以修改, 此为单个迚程可分配的最大文件句柄数, 默认是为 1024*1024 以下三个参数在 Nginx 没有启用 SO_TCPKEEPALIVE 特性时, 根本丌会生效, 且启用 SO_TCPKEEPALIVE 特性的参数, 丌是 keepalive_timeout!!! net.ipv4.tcp_keepalive_time net.ipv4.tcp_keepalive_probes net.ipv4.tcp_keepalive_intvl HTTP Keep-Alive 与 TCP Keepalive 是两个不同的概念, 简单说前者是复用一个 TCP 连接, 后者用于 TCP 连接的链路探活 net.ipv4.tcp_max_orphans 丌要设置过大, 一个孤儿连接要占用 64K 的丌可交换内存

Sysctl.conf 配置注意事项 net.ipv4.tcp_max_tw_buckets 没事别设置几万几十万的, 这个参数是 TW 的连接超过这个设置的时候在 /var/log/messages 中打印警告信息, 同时释放 TW 连接, 可以设置小一点, 当系统中 TW 太多的时候, net.ipv4.tcp_tw_recycle 和 net.ipv4.tcp_tw_reuse 两个参数并没有卵用, 所以 TW 连接过大的可以直接暴力的将 net.ipv4.tcp_max_tw_buckets 设置为 0, 并没有什么问题, 当然最终解决还是要依赖程序和对 Nginx 的配置以及重新编译内核, 减少 TW 连接的产生 rmem 和 wmem 可根据 netstat s grep socket 的结果来判断是否足够, 出现类似以下信息时就要考虑增加对应的大小了 269651 packets pruned from receive queue because of socket buffer overrun 5346082 packets collapsed in receive queue due to low socket buffer

Nginx 层面 安装优化 ( 编译方式 ), 针对不同的场景仅编译需要的模块, 例如用于静态资源服务器的参数./configure --prefix=/opt/websuite/nginx --conf-path=/opt/config/nginx/nginx.conf \ --modules-path=/opt/websuite/nginx/modules --error-log-path=/opt/logs/nginx/error.log \ --http-log-path=/opt/logs/nginx/access.log --pid-path=/opt/run/nginx --user=websuite \ --group=websuite --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module \ --with-http_stub_status_module --without-http_ssi_module --without-http_charset_module \ --without-http_access_module --without-http_auth_basic_module --without-http_autoindex_module \ --without-http_geo_module --without-http_split_clients_module --without-http_proxy_module \ --without-http_fastcgi_module --without-http_uwsgi_module --without-http_scgi_module \ --without-http_memcached_module --without-http_empty_gif_module --without-http_browser_module \ --without-http_upstream_hash_module --without-http_upstream_ip_hash_module \ --without-http_upstream_least_conn_module --without-http_upstream_keepalive_module \ --without-http_upstream_zone_module --http-client-body-temp-path=/opt/websuite/nginx/temp/client \ --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module \ --with-google_perftools_module --with-pcre=/tmp/nginx/pcre-8.39 --with-pcre-jit \ --with-openssl=/tmp/nginx/openssl-1.0.2j \ --with-openssl-opt="threads shared no-zlib no-comp no-ssl2 no-ssl3 no-ssl3-method"

Nginx 层面 例如 access_log 优化 增加 buffer 使用 map 过滤丌必要的日志 制定合适的 log_format map $uri $expanded_name { ~^(.*\.(gif jpg jpeg png bmp swf js css)$) 0; default 1; } access_log /opt/logs/openresty/access.www.grapenvine.cn proxy buffer=1m if=$expanded_name 表示使用 proxy 作为 www.grapenvine.cn 的日志记录格式, 并且设置 buffer 为 1m, 当 buffer 中的日志超过 1m 时再写入日志文件, 同时请求中包含 map 中指定的文件将不记录到访问日志里

Nginx 层面 proxy 相关参数优化 proxy_connect_timeout 30; proxy_send_timeout 30; proxy_read_timeout 60; proxy_buffer_size 64k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_next_upstream proxy_next_upstream_timeout 1s; proxy_next_upstream_tries 1; invalid_header http_500 http_503 http_403 http_502 http_504; 其中 proxy_buffer_size 的值可通过统计一天 accesslog 中的 $bytes_sent,$bytes_sent 的平均值即为 proxy_buffer_size 的值,$bytes_sent 的最大值则为 proxy_buffers 的大小 例如, 平均值为 50K, 最大值为 230k, 则 proxy_buffer_size 就为 64k,proxy_buffers 就设置 4 64k 对于 net_upstream 的用法可参考 http://www.grapenvine.cn/post/95

Nginx 层面 fastcgi 相关参数优化 fastcgi_connect_timeout 15; fastcgi_send_timeout 30; fastcgi_read_timeout 30; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_next_upstream fastcgi_next_upstream_timeout 1s; fastcgi_next_upstream_tries 1; error timeout invalid_header http_500 http_503; 其中 fastcgi_buffer_size 的值可通过统计一天 accesslog 中的 $bytes_sent,$bytes_sent 的平均值即为 fastcgi_buffer_size 的值,$bytes_sent 的最大值则为 fastcgi_buffers 的大小 例如, 平均值为 50K, 最大值为 230k, 则 fastcgi_buffer_size 就为 64k,fastcgi_buffers 就设置 4 64k 对于 net_upstream 的用法可参考 http://www.grapenvine.cn/post/95

Nginx 层面 tmpfs 通过使用 tmpfs, 可将 nginx 的临时目录及缓存目录放到内存中, 降低对磁盘 IO 的消耗

Nginx 层面 Nginx.conf 主配置优化 worker_processes auto; worker_cpu_affinity auto; worker_rlimit_nofile 100000; pcre_jit on; events{ use epoll; worker_connections 8192; accept_mutex off; } 一般 worker_connections* worker_processes < worker_rlimit_nofile, 其中 worker_rlimit_nofile 不受 ulimit n 的限制, 如果没有配置此参数, 则以 ulimit n 的值为主 accept_mutex 网站流量小设置为 on 也没问题, 大流量的情况下要设置为 off, 在 nginx 1.11.3 版本中默认就关闭了

Nginx 层面 Nginx vhost 建议配置一个 default server, 例如 这样做是为了设置 backlog, 以及启用 reuseport 功能,backlog 是所有虚拟主机公用的, 所以当你的 Nginx 要提供的服务很多时, 增加 default server 中的 backlog 加入 reuseport 可以让所有的 worker 都监听在 80 端口, 提高 Nginx 的并发性能,reuseport 不 accept_mutex 是互斥的 另外如果要启用 SO_TCPKEEPALIVE 机制, 需要在 listen 指令中配置 so_keepalive=on

Nginx 层面 Nginx 负载均衡环境中, 在 upstream 启用 keepalive 指令, 可用在 proxy 和 fastcgi 的场景里例如 upstream netemu { server unix:/opt/run/php/pool1.sock; server unix:/opt/run/php/pool4.sock; keepalive 4; } 对于 proxy 模块需要增加指令 proxy_http_version 1.1; proxy_set_header Connection ""; 对于 fastcgi 模块需要增加指令 fastcgi_keep_conn on; 当在 upstream 中使用负载均衡算法时, 算法指令要放在 keepalive 指令前 通过这种方式, 可以显著降低 Nginx 与 upstream 中 server 的 timewait 连接 keepalive 的值不要设置过大, 因为这是针对每个 worker 的

Backend Server 层面 PHP 应用 多 pool pm = static 使用静态方式 pm.max_children = CPU processor 数量 JAVA 应用 选择更快的 Java 容器, 例如用 Resin 替换 Tomcat Tomcat 使用独立 selector JVM 使用 jstat 以及 Jprofiler 迚行优化 单机多实例

Nginx 题外话

第三方模块对 Nginx 的扩展 Nginx 状态输出 nginx-module-vts 劢态更新 Nginx Upstream ngx_dynamic_upstream nginx-upsync-module lua-upstream-nginx-module 缓解 robots 压力 testcookie-nginx-module 分布式共享缓存 srcache-nginx-module+memc-nginx-module srcache-nginx-module+redis2-nginx-module

TIME_WAIT 连接 Haproxy LVS Nginx 作为负载均衡器的选择 Nginx Tengine OpenResty 如何选择

THANK YOU 作者 : 李强网名 : 撒加博客 : http://www.grapenvine.cn http://www.nxops.cn