【问题标题】:Nginx Vs Apache to solve load isseu on websiteNginx Vs Apache 解决网站负载问题
【发布时间】:2013-03-26 19:46:58
【问题描述】:

所以有一个包含 10-12 个页面的 Web 应用程序,其中包含许多 POST/GET DB 调用。当站点流量达到 1000 左右(并发用户数)非常少时,我们通常会遇到 apache 崩溃/其他问题,我们已经更新了具有良好 RAM 和资源的服务器。当我们的系统管理员对 blitz 和其他自定义脚本进行负载测试并建议远离 Apache 时。有些事情对我来说没有意义。考虑到我们有用于缓存的 cloudflare,像 Apache 处理几千个并发用户也不错。这是他的建议:

用 Nginx+php-fpm 替换 Apache+mod_fcgi 可以让服务器处理更多的用户,然后进行测试。 或者 2. 用于测试:需要 10-20 台服务器来运行一个场景。基本上,需要的是一个更复杂的 blitz.io 类似物。创建一台服务器,这需要花费所有这些时间,然后只需将其克隆到云中并支付大约 1 小时的测试费用乘以所需的服务器数量。

再次有许多 DB 调用和 HT 访问。还有在这种情况下,是什么让 Nginx 比 apache 更好?

【问题讨论】:

  • 他还补充说:Apache 以每秒大约 200 个请求的速度死亡。好吧,如果您想保留此设置,也许我可以将其设为 300。但如果我们能摆脱 Apache,我也能做到至少 1000。
  • Apache 似乎已达到文件描述符限制(请参阅httpd.apache.org/docs/current/vhosts/fd-limits.html)。大多数linux系统默认只允许用户打开1024个文件。这对于 Web 服务器来说显然是不够的,因为每个并发连接至少需要 1 个文件描述符。

标签: mysql apache networking operating-system system


【解决方案1】:

I would check this comparison first. 基本上,nginx 是基于事件的,所以它能够同时处理更多的请求。但是,由于 MySQL DB 似乎是这里的瓶颈,nginx 很可能无法解决您的所有问题。也许迁移到 NoSQL 类型的数据库,这种数据库更擅长水平扩展,会有所帮助(如果可行的话)。

【讨论】:

    猜你喜欢
    • 2011-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 2011-11-13
    • 1970-01-01
    • 2013-08-08
    • 2013-12-12
    相关资源
    最近更新 更多