这可能是一个奇怪的问题,但最近我一直在想。
我有一个应用程序每隔一秒从我的网络服务器请求一个页面(php脚本,就像一个API并输出一个简单的字符串)。这似乎是相当多的垃圾邮件,我想知道是否有任何问题可以从那里得到。
就像,我应该注意网络服务器日志记录,以确保它不会垃圾邮件直到它完整。此时RAM / CPU不是问题。 APC已启用。脚本已经过优化。如果有的话,我还应该研究什么?
这可能与许多访问我网站的访问者遇到的情况相同,但我从未有过这种体验。
谢谢!
答案 0 :(得分:1)
每一秒?这是每个客户每天86400次。这对于PHP来说很重要!但它应该没问题,除非你有多个客户端,某种I / O大量或数据库系统。
否则,如果你必须使用PHP,那么在nginx上使用APC的php5 [-fpm]听起来很适合这种用途。
如果应用程序的这个组件在没有数据库的情况下聚合数据,通过在Internet上挖掘其他数据源,您可能需要与数据提供者核实是否允许实时轮询,并确保明确地将您的地址列入白名单。
不要忘记防火墙:使用异常许可安全策略,即iptables -t filter -P INPUT DROP
,也可以使用iptables -t raw
表精确转向数据包级别。对任务关键型网络服务器性能的最大威胁之一是攻击者通过分析流量频率和数量来识别节点是否至关重要的能力。关闭最低级别的所有非关键端口是一种简单的防御。
另一个选择是自动故障转移与此服务器的节点监控以及使用云VPS提供商(如Digital Ocean或Amazon Web Services)快速部署插入式替换设备。这是永久运行冗余服务器(或实例)的替代方案,并且设置起来很有趣。
需要通过故障转移进行实时请求处理的应用程序通常出现在金融行业的高价值风险环境中,以及安全关键风险环境中的安全和运输行业。如果这些方案中的任何一个适用于您,您可能希望考虑使用包含Ada,Erlang,Haskell的专用语言集从头开始重建应用程序的此组件。这样可以优化较低级别的资源利用率,从而获得最佳性能。根据您的风险环境,这对您来说可能是有价值的,也可能是不值得的。