在我的情况下会更好 – apache,nginx或lighttpd?

我正在写一个PHP站点,预计将有大约200-300个并发用户浏览它。 当初始化应用程序将加载大约30个PHP类,10个可能15个图像和几个CSS文件。

所以我的问题是,除了优化我的代码和使用apc / eaccelerator为PHP)我还能做什么(尽可能接近这些并发用户数)?

目前我们还没有select要托pipe的网站的服务器,但最有可能的将是一个VPS双核+2或4GB内存。 这样的服务器可以处理这个负载吗? 另外我怎么能自己testing它,并确保它能够处理它?

我个人推荐Apache使用mpm_worker与FastCGI PHP,eAccelerator,并可能通过mod_disk_cache磁盘caching,这取决于您的PHP应用程序。 如果您使用PHP来生成像图片,JavaScript或CSS这样的可caching的文本文件,或者如果您的内容可caching,您可能会注意到巨大的性能提升。

我们从Apache的mpm_prefork + mod_php切换到mpm_worker ,FastCGI PHP和mod_disk_cache ,我们看到了速度的显着提高。 一个原因是,我们使用PHP来缩小JS和CSS文件,甚至只是调用PHP来mpm_worker文件readfile()caching的缩小的JS文件比让mpm_worker从一个磁盘caching中提供该文件的速度要慢得多。

许多人不惜代价在Apache上轻轻一点,说Apache臃肿而缓慢。 我之前使用过lighttpd,而且非常漂亮,但根据我的经验,Apache可以调整为极高的性能,而mpm_worker模块mpm_worker您提供了与lighttpd相同的基本线程概念。

回复:内存, 尽可能多的,你可以! 如果你能买得起4GB,那就去做吧。 你会很高兴你做的。

对于性能testing,有很多很棒的工具,但是我发现Apache提供的基准testing工具是testing性能的一种快速而简单的方法。 它应该如何使用的具体细节需要一个单独的问题:-)

除非你的PHP代码真的很糟糕,答案是这些解决scheme中的任何一个都可以处理负载。 你应该去任何你最熟悉的,最简单的configuration和pipe理。