在本地开发机器上模拟临时无响应服务器或网络拥塞(Apache/PHP)

在本地开发机器上模拟临时无响应服务器或网络拥塞(Apache/PHP),php,apache,testing,simulation,no-response,Php,Apache,Testing,Simulation,No Response,我有一个交互式网页,在用户交互时向服务器发出异步请求(加载图像、数据等) 作为最后一个阶段,我将实现JavaScript代码,以便正确处理服务器太忙或网络拥塞以及请求未得到满足的情况 在开发过程中,服务器和客户端(浏览器)都在开发机器(本地主机)上运行 为了测试代码,我必须在本地开发机器上模拟这些情况 我可以很容易地模拟“服务不可用”响应 但是我如何才能模拟一个“完全没有响应” 正在放置 sleep(3600); 在php的开始部分,当请求被发出时执行的代码是否足以实现我需要模拟的内容 还是有

我有一个交互式网页,在用户交互时向服务器发出异步请求(加载图像、数据等)

作为最后一个阶段,我将实现JavaScript代码,以便正确处理服务器太忙或网络拥塞以及请求未得到满足的情况

在开发过程中,服务器和客户端(浏览器)都在开发机器(本地主机)上运行

为了测试代码,我必须在本地开发机器上模拟这些情况

我可以很容易地模拟“服务不可用”响应

但是我如何才能模拟一个“完全没有响应”

正在放置

sleep(3600);
php
的开始部分,当请求被发出时执行的代码是否足以实现我需要模拟的内容

还是有些东西仍然返回到浏览器

在服务器可用性较差的情况下,是否有更好的方法测试浏览器端代码

编辑

一种选择是按照Dave在回答中的建议,关闭运行在本地主机上的服务器

如果可能的话,我宁愿避免这种情况

我希望能够错过一些请求,满足一些其他请求

其背后的思想是,在浏览器上运行的客户端JavaScript代码将重试失败的请求


服务器模拟一个请求的不可用性,客户端重试,服务器给出响应…

您遇到这种情况的唯一方式是,异步请求的javascript从服务器调用数据/文件,而不是从推出主页面的服务器。因此,如果您只运行一个apache实例,那么您永远不会遇到网络拥塞或不可用。例如,如果您将apache作为主要web服务器运行,将nginx作为内容服务器运行在不同的端口上,那么要测试它,只需停止nginx为您的内容提供服务


如果您的意思是希望从用户的角度测试您的web服务器处于脱机状态,而他们的客户端仍在处理/运行javascript(假设您的服务器在初始加载/请求时处于联机状态),则在浏览器中加载页面并停止web服务器,然后等待它在客户端出错。当然,您需要重新启动web服务器以重新加载文件,并在更改后重新测试。

我的意思是,我想从用户的角度测试您的web服务器处于脱机状态,而他们的客户端仍在处理/运行javascript。当然,关闭运行在本地主机上的服务器是另一种选择,但我更愿意避免这种情况(如果可能的话),并使用一种技术,使服务器处于运行状态,有选择地“错过”一些请求并满足其他一些请求。-我将编辑我的问题,以指定我不希望关闭服务器。感谢您的回答如果您都在本地主机上运行,那么就没有真正的方法来模拟这种情况。您可以尝试将wamp服务器等联机,并通过网络接口而不是本地主机访问它,然后关闭网络连接。或者,您可以让负载测试仪运行并限制mysql配置,以便db服务器锁定。但除此之外,没有真正的方法可以在不关闭Web服务器的情况下测试您想要测试的内容。