【发布时间】:2015-12-03 15:27:33
【问题描述】:
我注意到在 php 中将图像加载到 imagick ($im = new Imagick($sFilename);) 需要 0.6 秒才能获得 8MB 图像。这对我来说似乎有点慢,所以我尝试了一个测试并使用file_get_contents 读取文件。大约 0.005 秒。更好的。有点太好了,我猜那里有一些缓存?
但我可以将同一个文件加载到 imagick 中十几次,而且总是 ~0.6 秒。
我可以告诉 file_get_contents 以某种方式绕过系统缓存,以便更好地了解从我的硬盘中检索 8MB 文件的原始速度吗?
有什么办法可以加快 imagick 的速度吗?或者这个操作0.6秒是完全正常的吗?
服务器在 RAID 1 中有两个 7200rpm HP sata 驱动器。
谢谢。
【问题讨论】:
-
我认为 Imagick 速度较慢的原因是因为它在加载图像时会进行一些解析。解析 8MB 的数据需要一些时间。
-
不是文件读取需要很长时间,而是将8MB的图像解码为位图,可能非常大。
-
我确实想知道,但这似乎需要很长时间。有什么可以配置给imagick更多资源的吗?将其设置为“高优先级”CPU任务还是什么?或者启用多核处理等?
-
图片的类型是什么 - JPG? PNG?图像的尺寸(以像素为单位)是多少?您实际上想要实现什么 - 快速处理一张图像,或者在短时间内处理大量图像?你在 Windows 上吗?
-
JPG,6000x4000,CentOS 6.7,至强 E5-1650,32GB RAM。两者都有 - 有时是一张图片,有时是数千张。
标签: php imagemagick imagick