【问题标题】:PHP get_headers() - Will 300+ requests affect target server load?PHP get_headers() - 300+ 个请求会影响目标服务器负载吗?
【发布时间】:2015-02-25 15:48:49
【问题描述】:

作为自动化网店的一部分,300+ get_headers(); 请求会影响目标服务器吗? 我意识到我只请求没有内容的标头,但它仍然是一个 HTTP 请求。

快速分解代码; 300 多个 url 依次传递给函数,然后检查标题,搜索“404”。

我不想给别人的服务器带来不必要的压力。

我设置的代码如下:

function checkUrlExists($url) {
    stream_context_set_default(
        array(
            'http' => array(
                'method' => 'HEAD'
            )
        )
    );
    $headers = @get_headers($url);
    if (is_array($headers)) {
        if (strpos($headers[0], '404') === false)
            return true;
        else
            return false;
    } else
        return false;
}

【问题讨论】:

    标签: php http-headers get-headers server-load


    【解决方案1】:

    在大多数情况下,压力与完成完整请求一样多。除非应用程序是专门为以不同方式处理 HEAD 请求而构建的,否则它将引导代码,运行它,然后仅检索标头。从应用程序的角度来看,没有区别,只是从网络服务器的角度来看。

    【讨论】:

    • 谢谢,我会适应 sleep() 然后减轻压力。无论如何,执行时间都无关紧要,因为它将转到 cron。
    猜你喜欢
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多