Jey*_*mar 4 php apache optimization image-processing
我有一个PHP脚本,可以在上传时将图像大小调整为三种不同的分辨率.当我上传图像时,它将其大小调整为300*300,80*80,800*800,并保存原始文件.
我使用的脚本是以下链接https://github.com/blueimp/jQuery-File-Upload/blob/master/example/upload.php
以下图像是服务器的系统监视器.CPU历史记录的前两个峰值是单独上载文件时发生的图像大小调整.以下是从队列上载的文件.

在此上载期间,服务器无法处理其他请求.我当时无法访问其他页面.页面加载一半或根本不加载或上载完成后页面加载.
我需要立即解决这个问题.如何克服这个问题.我必须为服务器充分.用于图像调整大小的apache是否有任何插件或代码有问题.
Arn*_*anc 10
即使调整图像大小在一分钟内占用了100%的CPU,仍然可以执行其他请求:您在多任务操作系统上使用多进程服务器(并且可能还有多个核心).
但是,当您启动PHP会话时,会话将被锁定:尝试使用同一会话的其他请求必须等到第一个请求结束.
这就是在调整图像大小时无法执行并发请求的原因.
您必须在进行长时间处理之前关闭会话(并最终在此之后重新打开它).
所以,这应该解决你的问题:
session_write_close();
resize_the_image();
session_start();
Run Code Online (Sandbox Code Playgroud)