Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 图像缓存大小增加了加载时间_Php_Caching_Benchmarking - Fatal编程技术网

Php 图像缓存大小增加了加载时间

Php 图像缓存大小增加了加载时间,php,caching,benchmarking,Php,Caching,Benchmarking,我主持了一个网站,作为其服务的一部分,该网站根据用户在游戏中的皮肤为用户创建了酷的小PNG头像 我将所有图像缓存在缓存目录中4小时,以防止命中游戏服务器并减少图像加载时间,但在这样做一两年后,我注意到,随着目录中缓存图像的增多,虚拟形象的加载时间增加,这对我来说很奇怪,因为我不会让我的脚本遍历整个directorty,直到它找到它要查找的缓存图像。 下面是cURL中的一些基准: 第一次试验;400个缓存图像: ------- time_namelookup: 0.000

我主持了一个网站,作为其服务的一部分,该网站根据用户在游戏中的皮肤为用户创建了酷的小PNG头像

我将所有图像缓存在缓存目录中4小时,以防止命中游戏服务器并减少图像加载时间,但在这样做一两年后,我注意到,随着目录中缓存图像的增多,虚拟形象的加载时间增加,这对我来说很奇怪,因为我不会让我的脚本遍历整个directorty,直到它找到它要查找的缓存图像。

下面是cURL中的一些基准:
第一次试验;400个缓存图像:

------- time_namelookup: 0.000 time_connect: 0.093 time_appconnect: 0.000 time_pretransfer: 0.093 time_redirect: 0.000 time_starttransfer: 0.452 ---------- time_total: 0.452 ------- 查找时间:0.000 连接时间:0.093 时间\应用连接:0.000 预转移时间:0.093 时间:0.000 开始传输时间:0.452 ---------- 总时间:0.452 第二次试验;删除所有缓存后:

time_namelookup: 0.000 time_connect: 0.093 time_appconnect: 0.000 time_pretransfer: 0.093 time_redirect: 0.000 time_starttransfer: 0.249 ---------- time_total: 0.249 查找时间:0.000 连接时间:0.093 时间\应用连接:0.000 预转移时间:0.093 时间:0.000 开始传输时间:0.249 ---------- 总时间:0.249 那么,在目录中缓存更少的情况下,加载时间缩短有什么具体原因吗?有什么方法可以优化它吗?
编辑 请求的方式是,每当有人请求化身时,脚本都会检查是否存在带有其用户名的缓存图像。

通过PHP的
文件\u exists()

可以访问该目录吗?从技术上讲不是,但是如果您知道完整的URL和目录中的特定文件名,您可以访问它。您可以使用重写规则吗?或者别名?你能给我举个例子吗?你熟悉Apache重写规则和别名吗?它们允许您更改请求并提供不同的文件。您可以使用现有的请求来提供图像,而无需PHP。