2014-04-11 71 views
0

这可能是一个奇怪的问题,但最近我一直在想。网络服务器优化:处理频繁的PHP请求

我有一个应用程序每秒从我的web服务器请求一个页面(php脚本,像API一样工作并输出一个简单的字符串)。这似乎相当多的垃圾邮件,我想知道是否可以从中得到任何问题。

像,我应该注意web服务器日志记录,以确保它没有发送垃圾邮件直到它满。 RAM/CPU在这一点上不是问题。 APC已启用。脚本已经过优化。如果有什么,我还应该看看什么?

这可能是我遇到很多访问者到我的网站时遇到的情况,但我从来没有过那种体验。

谢谢!

回答

1

每一秒?这是每个客户每天86400次。这对于PHP来说很重要!但它应该没问题,除非你有多个客户端,某种类型的I/O大型数据库系统。

否则,在nginx上使用APC的php5 [-fpm]听起来很适合这种用法,如果您必须使用PHP。

如果您的应用程序的这个组件在没有数据库的情况下汇总数据,则通过在互联网上挖掘其他数据源,您可能希望与数据提供程序检查是否允许实时轮询,并确保您的地址明确列入白名单。

防火墙不会被遗忘:使用异常允许的安全策略,即iptables -t filter -P INPUT DROP,也可以使用iptables -t raw表精确转换到数据包级别。任务关键型Web服务器性能的最大威胁之一是对手通过分析流量频率和数量来识别节点至关重要的能力。关闭最低级别的所有非关键端口是一种简单的防御措施。

另一种选择是自动故障转移,与此服务器的节点监视以及使用云VPS提供程序(如Digital Ocean或Amazon Web Services)快速部署嵌入式替换设备。这是永久运行冗余服务器(或实例)的一种替代方法,并且可以很方便地进行设置。

需要通过故障转移进行实时请求处理的应用程序经常出现在金融行业的高价值风险环境中,以及安全和关键风险环境中的安全和运输行业。如果以上任何一种情况都适用于您,您可能希望考虑从一开始就使用包括Ada,,Haskell的专用语言集重新构建应用程序的这个组件。这将允许您优化较低级别的资源利用率,从而获得最佳性能。根据您的风险环境,这可能会或可能不值得您。