【问题标题】:Apache/PHP test server throttle by requestApache/PHP 测试服务器按请求节流
【发布时间】:2010-12-16 17:18:47
【问题描述】:

我最近在我的计算机上设置了一个在虚拟机中运行的测试服务器,这样我就可以使用 XDebug 进行交互式调试等操作。在大多数情况下,它非常甜蜜,但是当我从同一个客户端一次向服务器运行多个请求时遇到了障碍。

问题是来宾-主机网络连接并不真正作为物理连接存在,因此它会以计算机硬件允许的速度运行。这通常不是一个大问题,但我正在尝试实现 APC 文件上传监控,这需要 AJAX 请求与文件上传并行运行以监控其性能。在现实世界中,网络会引入延迟和延迟等,留下足够的未使用带宽供 AjAX 请求与文件上传并行运行。但是,在测试机器中,AJAX 请求在上传完成之前无法从服务器获取任何数据,因为绝对没有可用的带宽。

是否可以在虚拟机中(在 Apache、PHP 或某些 Linux 实用程序中)设置某种带宽管理来限制每个 HTTP 请求的可用带宽?比如让每个请求限制在1mbps,但是客户端和服务器之间可以同时存在多个请求?我希望如果可以做到这一点,它将允许 AJAX 请求在上传过程中获取其数据,而不是在上传实际完成之前停止。

我尝试了一个名为 IPRelay 的实用程序,但我似乎无法让它工作,或者至少不能以限制每个请求的方式工作。

【问题讨论】:

    标签: php apache ubuntu virtualbox throttling


    【解决方案1】:

    您要求的是流量整形。

    Lighttpd(Apache 的替代品)支持 natively

    对于 Apache,有几种方法可以做到这一点。

    • mod_bandwidth - 一个 3pd 模块(最近没有更新),似乎做同样的事情。
    • mod_bwshare - 3pd 模块旨在对抗 DOS 攻击,但可能会有所帮助。

    这是一个可能相关的ServerFault Question...

    【讨论】:

      【解决方案2】:

      感谢您的回复。但是,我发现了一个方便的 Linux 小实用程序,称为 iprelay,它可以让我限制连接,它似乎让我可以打开多个连接,每个连接都被限制到指定的限制。这就是我今天用来测试我的 APC 代码的东西,它似乎一切正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多