如何提高 nginx 反向代理性能?

如何提高 nginx 反向代理性能?

我使用 nginx 作为反向代理服务器,主要用作负载平衡器。我几乎只使用动态文件。后端服务器是 apache。

以下是我的 httperf 结果:

单个 apache 服务器 (1024 mb):每秒 300 个请求 2x 512 mb apache 服务器,1 个 nginx 服务器 (1024 mb):每秒 300 个请求 2x 1024 mb apache 服务器,1 个 nginx 服务器 (1024 mb):每秒 300 个请求

看来我的 nginx 服务器是瓶颈,但我不知道如何优化它。

apache 后端服务器和 nginx 服务器上的 cpu 使用率和 ram 使用率最小,不到 10%。

我的目标是找到一种很好的扩展方法并使用负载均衡器,但似乎如果 nginx 作为单个 apache 服务器每秒的请求数受到限制,那么就没有意义了......

答案1

首先设置这个基本:

worker_processes        2; # put here the number of CPU you got.

根据您使用的操作系统,设置最佳事件引擎:use [ kqueue | rtsig | epoll | /dev/poll | select | poll | eventport ]

然后设置每个工作器的连接数。这里要小心,你的系统应该受到 nginx 使用的用户的限制。请参阅/etc/security/limits.conf设置 nginx 可以打开的最佳文件描述符数量。

events {
        use                     kqueue;  
        worker_connections      4096;
}

然后就全看你的应用程序如何工作了。你可以启用缓存和/或压缩来获得更好的结果。请参阅此帖子以了解缓存解决方案:如何将 Nginx 设置为缓存反向代理?

相关内容