【问题标题】:Webserver optimization: Dealing with frequent php requestsWeb服务器优化:处理频繁的php请求
【发布时间】:2014-04-11 11:18:36
【问题描述】:

这可能是一个奇怪的问题,但这是我最近一直想知道的问题。

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

就像,我可能应该注意网络服务器日志记录,以确保它不会在磁盘满之前向磁盘发送垃圾邮件。在这一点上,RAM/CPU 不是问题。 APC 已启用。脚本已优化。如果有的话,我还应该研究什么?

这可能是我在很多访问者访问我的网站时会遇到的相同情况,但我从未有过这种经历。

谢谢!

【问题讨论】:

    标签: php performance nginx webserver


    【解决方案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)快速部署插入式替换设备相结合。这是永久运行冗余服务器(或实例)的替代方法,而且设置起来很有趣。

    需要实时请求处理和故障转移的应用程序常见于金融行业的高价值风险环境,以及安全和运输行业的安全关键风险环境。如果这些场景中的任何一个适用于您,您可能希望考虑使用专用语言集(包括AdaErlangHaskell)从头开始重建应用程序的这个组件。这将允许您在较低级别优化资源利用率,从而获得最佳性能。根据您的风险环境,这对您来说可能值得,也可能不值得。

    【讨论】:

      猜你喜欢
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-12
      • 2010-09-10
      • 2013-03-18
      相关资源
      最近更新 更多