为重型stream量configurationCentOS

新的系统pipe理员在这里pipe理一个CentOS服务器。 过去一周是我职业生涯中最激动人心的一周,充满了学习各种新鲜事物。 今天我还有另外一个任务,那就是确保我们的服务器能够处理比我们以前的共享主机所能做到的更多的事情。

我们最初在GoDaddy共享主机上限制了200个并发连接。 最终,我们超出了这一点(通常是在市场活动/营销活动期间),并转向虚拟专用服务器。 我假设连接数将由Apache处理。

为了增加stream量,我应该注意哪些configuration?

你只是在谈论提供静态网页? 如果你有任何一种程序化的后端,那么有很多不同的答案,但是对于Apache来说,它肯定是允许的进程模型和进程/线程的数量。 您还需要阅读一般的UNIX Apache调整指南,并确保每个用户都有足够的进程并打开文件(ulimit -n和-u显示这些文件;在/etc/security/limits.conf中使用nproc和nofile进行设置,并通过在/etc/pam.d/login中添加“session required /lib/security/pam_limits.so”)。

在较老的Apache中,您始终使用“prefork”模式,它会为每个线程生成一个单独的进程 – 这就是旧的MaxClients设置。 如果你正在使用一堆模块,那么200-250个Apache进程可以很容易地填满只有less量内存的机器。 确保你使用的是更新的Apache,并且正在使用使用不同线程模型的“worker”MPM,它会让你每个服务器更多一点(需要更多的设置来调整它)。

如果你需要极高的可伸缩性,转换到Nginx或类似的closuresApache。 但是如果情况只是“超过200”,那么Apache就没有问题。

请确保将您的超时设置为相当低的值,除非您服务的文件很大,比如30左右。

使用压缩和caching。

同样,当你将达到更高的负载,你可能需要调整Linux防火墙设置,特别是conntack模块。 在互联网上有一些文章,我的一个在这里: http : //timanovsky.wordpress.com/2009/04/10/tuning-linux-firewall-connection-tracker-ip_conntrack/