使用尽可能少的资源,模拟挂起的 Web 应用程序的最佳方法是啥?
Posted
技术标签:
【中文标题】使用尽可能少的资源,模拟挂起的 Web 应用程序的最佳方法是啥?【英文标题】:Using the least resources possible, what would be the best way to simulate a hung web application?使用尽可能少的资源,模拟挂起的 Web 应用程序的最佳方法是什么? 【发布时间】:2014-07-30 17:13:38 【问题描述】:我想创建一个模拟挂起/冻结网页的页面。例如,我可以在 php 中使用非常长的“睡眠”。但是如果我想让它成为一个公共工具,我可以想象这可能会占用服务器资源(套接字、内存等——我在这个抽象级别上没有那么经验)并最终给服务器带来真正的问题。
我不想简单地关闭与客户端的套接字,因为这不会提供我想要模拟的“等待”行为类型。
解决方案不必与 PHP 相关。那只是一个例子。它可以是任何语言和/或网络服务器。唯一的标准是 Linux 上的 FOSS。
【问题讨论】:
对于任何感兴趣的人,我在其他地方偶然发现了一个有点相关的问题:***.com/questions/100841/… 【参考方案1】:您可以简单地使用 netcat 侦听端口而不返回任何内容。
nc -l localhost 8080
或者如果您希望它在客户端关闭连接时继续侦听
while (TRUE); do nc -l localhost 8080; done
编辑:某些版本的 nc 有 -k 选项来强制 netcat 在套接字关闭后继续侦听。在这些情况下,您不需要循环。
【讨论】:
如果在第一个客户端关闭套接字之前第二个客户端尝试连接到同一个端口会发生什么?以上是关于使用尽可能少的资源,模拟挂起的 Web 应用程序的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
使用 xmedianet 库在“资源绑定”进程上挂起的 XMPP 连接