7

Apache 在正常情况下如何处理c10k 问题?比如说在运行数据很少的非常小的脚本时,或者如果我使用 Apache 是否需要横向扩展?

在后台,一些繁重的工作是由一些运行专门软件来处理请求的服务器完成的,但我想使用 Apache 作为前端。这是一个可行的计划吗?

4

3 回答 3

9

我认为 Apache 更像是一个源服务器——运行类似 mod_php 或 mod_perl 的东西来生成内容,并且很聪明地路由到适当的系统。

如果您的站点前面有数千个并发点击,并且返回了混合类型的数据(静态和动态),那么您可能会发现在它前面放置一个更优化的系统很有用。

Apache 的经典优化后问题不是生成动态内容(或者至少可以在流程的早期进行优化),而只是等待慢速客户端能够接收正在发送的字节。因此,将 Squid 或 Nginx 形式的反向代理放在服务器前以接管慢速网络客户端的“勺子馈送”,同时允许内容生产充分进行,这可能是一个显着的优势速度,并且以本地网络速度 - 100Mb / 秒甚至千兆速度 - 如果它甚至必须遍历网络。

于 2009-03-30T20:08:51.067 回答
2

我假设您可能已经看过这些数据,但如果没有,它可能会给您一些想法。

于 2009-03-11T16:44:40.340 回答
1

伙计们,假设您正在运行具有 10K 连接(同时)的 Web 服务器。怎么会这样?

  • 你每秒有很多很多的连接

    • 动态内容

      例如,您确定您的 CPU 可以处理那么多 PHP 会话吗?我想不,那你为什么要考虑 C10K 问题?:D

    • 静态内容 - 小文件

      还有很多联系吗?在单个服务器上?可能您也遇到了网络/吞吐量问题,或者您是 Google 的未来竞争对手。使用能够解决 C10K 问题且稳定的 lighttpd - fly light。将 Apache 仅用于大型站点的静态文件是显而易见的。

  • 您的客户正在长时间下载大文件 - 静态内容

    • ISO 映像、档案等

      如果您是通过 Web 服务器进行操作 - FTP 可能更合适。

    • 视频流

      使用 lighttpd 或专门的软件。仍然......其他资源呢?

我在 apache 服务器前使用 Linux 虚拟服务器作为负载平衡器(带有 LVS-NAT 的特定补丁),我很高兴 :) 这个字符串是您想听到的答案。

于 2011-05-25T20:46:14.233 回答