X量后,Http请求失败

时间:2013-10-03 17:21:33

标签: php apache

我有一个页面可以通过名为thumb.php

的文件动态加载图像

此文件采用大图像文件,制作缩略图并输出如下所示的jpg:

<img src="thumb.php?width=100&height=100&cropratio=1:1&image=/photos/45_Jumps-059.jpg" />

我的服务器出现问题,当我达到大约60个请求时(请求thumb.php 60次以上的所有图像),我从服务器返回的响应是:

Remote server closed the connection before sending response header

并且图片无法加载。

这就像apache或php内存不足或什么的?它使我的整个服务器停止大约一分钟,然后再开始工作。

1 个答案:

答案 0 :(得分:1)

问题很可能是Apache中的最大连接限制。它被设置为服务器可以在被太多同时连接命中时继续运行。它很容易配置,但你提到你在共享主机上,所以你不太可能改变它。

在您的场景中,我会通过在页面加载时加载一些来展开图像请求,然后使用JavaScript来观察加载完成后添加更多图像。 JQuery示例(未经测试):

<img src="" data-src="thumb.php?width=100&height=100&cropratio=1:1&image=/photos/45_Jumps-059.jpg" />
<img src="" data-src="thumb.php?width=100&height=100&cropratio=1:1&image=/photos/46_Jumps-059.jpg" />
<img src="" data-src="thumb.php?width=100&height=100&cropratio=1:1&image=/photos/47_Jumps-059.jpg" />

<script>
    $("img[src='']").load(function() {
       var next = $("img[src='']:first");
       next.attr('src', next.data('src');
    });
    var first = $("img[src='']:first");
    first.attr('src', first.data('src');
</script>