美文网首页
PHP Imagick 内存泄露问题 导致请求异常/失败

PHP Imagick 内存泄露问题 导致请求异常/失败

作者: GoodJun_30d5 | 来源:发表于2020-12-10 09:26 被阅读0次

    今天公司某个项目收到一个问题反馈,具体表现是上传图片接口有时候会提示网络错误,然后我使用Postman testing,发现这个上传图片接口,每100次请求有4个失败,失败的提示显示Error: socket hang up,没有错误code,后面把Dockerfile拉到本机测试,发现当容器的内存去到顶峰的时候请求就会失败。

    后面stackoverflow找到一个类似的问题

    imagick uses a shared library and it's memory usage is out of reach for PHP, so tuning PHP memory and garbage collection won't help.

    我理解到是因为imagick是个共享库,PHP无法让他回收到内存。

    后面使用了他的解决方案,把imgaick的缓存设置为磁盘模式,成功解决了问题,

    Imagick::setResourceLimit(Imagick::RESOURCETYPE_MEMORY, -1);
    

    Ref:https://stackoverflow.com/questions/9993085/php-imagick-memory-leak

    相关文章

      网友评论

          本文标题:PHP Imagick 内存泄露问题 导致请求异常/失败

          本文链接:https://www.haomeiwen.com/subject/kvdlgktx.html