Apache和c10k

时间:2009-03-06 16:57:33

标签: apache c10k

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

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

3 个答案:

答案 0 :(得分:8)

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

如果您的网站前端有数千个并发点击,并且返回了各种类型的数据(静态和动态),您可能会发现将更优化的系统放在它前面是有用的。

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

  • 你每秒有很多连接

    • 动态内容

        

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

    • 静态内容 - 小文件

        

      还有很多关系吗?在单一服务器上?可能你也遇到了网络/吞吐量方面的问题,或者你是谷歌未来的竞争对手。使用解决C10K问题并且稳定的lighttpd - 飞行灯。将Apache仅用于大型站点的静态文件是显而易见的。

  • 您的客户端正在大量下载大型文件 - 静态内容

    • ISO图像,档案等

        

      如果您是通过网络服务器进行的 - FTP可能更合适。

    • 视频流

        

      使用lighttpd或专业软件。还是......其他资源怎么样?

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