我有一个脚本,可以生成一个非常 github-gist 的代码片段,带有代码突出显示。
因为高亮渲染长文件需要一点时间,所以我将它们作为缓存文件存储在服务器上,如果存在缓存文件,我使用 file_get_contents 抓取并吐出。
我刚刚发布了我的一个较长的片段(大约 257K 的代码),并且缓存文件只需要一整秒的时间来加载。
对于那个大小的文件来说,这似乎是一个很长的时间。我刚刚检查过,50K 文件大约需要 0.4 到 0.5 秒。
关于可能导致这种缓慢读取速度的任何想法?
我有一个脚本,可以生成一个非常 github-gist 的代码片段,带有代码突出显示。
因为高亮渲染长文件需要一点时间,所以我将它们作为缓存文件存储在服务器上,如果存在缓存文件,我使用 file_get_contents 抓取并吐出。
我刚刚发布了我的一个较长的片段(大约 257K 的代码),并且缓存文件只需要一整秒的时间来加载。
对于那个大小的文件来说,这似乎是一个很长的时间。我刚刚检查过,50K 文件大约需要 0.4 到 0.5 秒。
关于可能导致这种缓慢读取速度的任何想法?
如果可以,请尝试使用客户端突出显示。 google-code-prettify看起来不错。
您是否尝试过使用readfile
而不是file_get_contents
?这可能会为您带来更好的结果。
您可能想尝试使用 X-Sendfile。它内置在lighttpd和nginx中,也可以作为Apache 的模块使用。
基本上,您只需要求网络服务器提供自定义静态文件,而不是将其加载到内存中然后发送出去。