【问题标题】:curl v/s file_get_contents performance for a file on same server同一服务器上文件的 curl v/s file_get_contents 性能
【发布时间】:2015-07-13 13:59:44
【问题描述】:

目前我正在使用 file_get_contents 从缓存中获取文件(即来自同一服务器的文件,我不需要 CURL 提供的不同选项。如果我使用 curl 而不是 @987654323,我会获得任何性能优势吗? @我的情况?

$cachepath="/dev/shm/cache";
$cachedfile=$cachepath."/".sha1($this->URL['href']);
$content=file_get_contents($cachedfile);
echo $content;

【问题讨论】:

    标签: php curl file-get-contents


    【解决方案1】:

    使用 CURL,您可能会遇到更差的性能。

    为什么?

    因为它发起一个 HTTP 请求,通过网络,在 HTTP-server 上调用响应,启动一些进程(例如 PHP),获取文件,然后返回 CURL。

    如果您使用 file_get_contents() 您只是在同一过程中获取文件。它肯定比 CURL 更快。

    【讨论】:

    • 你不能期望 curl 对本地文件有任何性能。这不是 curl 的用途:curl 甚至无法尝试获取本地文件。 f_g_c() 在获取 url 时与 curl 一样慢,因为在处理外部资源时,网络/延迟开销将大大超过 curl 和 fgc 之间的任何微小差异。
    • @MarcB 理论上你可以使用 CURL 从同一台机器上获取文件,如果你创建一个脚本来提供请求文件的内容。这当然是个坏主意,因为您添加的开销并没有增加任何功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    相关资源
    最近更新 更多