【问题标题】:Long request blocks other requests in Apache and PHP长请求阻止 Apache 和 PHP 中的其他请求
【发布时间】:2011-06-19 23:20:15
【问题描述】:

我有一个大约需要 1.5 分钟才能完成的请求,但是当它发出请求时,它会阻止服务器发出的所有其他请求。我正在使用 Apache 和 mod_php。解决此问题的最佳方法是什么?谢谢!

【问题讨论】:

  • 1.5分钟对于单个请求来说真的是很长的时间了。

标签: php apache


【解决方案1】:

[mod_telepathy]

您使用会话吗?如果是这样 - 当您没有在长脚本中关闭会话时,其他人会等待它。

如果您一直不需要会话 - 您可以使用 session_write_close() 关闭它

[/mod_telepathy]

【讨论】:

  • “其他人”的意思是“来自同一客户的其他人”。 :)
  • @zerkms,我在 C# 中遇到了同样的问题,你能帮帮我吗?!
  • @Ali Foroughi:再问一个问题
  • @zerkms ,我也想问一下我的问题,谢谢stackoverflow.com/q/11791911/985084
【解决方案2】:

基于文件的会话将导致阻塞。如果您使用数据库或 memcache/redis,则可以防止这种阻塞。

【讨论】:

  • 这是完全错误的。无论您定义了哪个文件处理程序,会话都会被阻止,直到它们被序列化和关闭。
猜你喜欢
  • 2016-01-02
  • 1970-01-01
  • 1970-01-01
  • 2015-09-11
  • 1970-01-01
  • 1970-01-01
  • 2015-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多