我正在测试同一脚本的两个版本。每个脚本执行相同的操作,但它们输出结果的方式不同。每个脚本:
第一个脚本以这种方式输出最终图像:
imagepng($img, $cacheFile, $quality);
imagedestroy($img);
$fp = fopen($cacheFile, 'rb');
header("Content-Type: image/png");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-Length: " . filesize($cacheFile));
header('Content-Transfer-Encoding: binary');
ob_end_clean();
fpassthru($fp);
第二个脚本:
header('Content-Type: image/png');
imagepng($img, null, $quality);
imagedestroy($img);
当我直接在浏览器中调用它们时,两个脚本都能正常工作,并且我得到了预期的结果。但是当我使用JMeter对每个脚本进行负载测试时,我经常在每个脚本中得到一个非描述性的500错误。
error_log 文件(通常在脚本中存在错误时创建)不存在。
如何解决500错误的原因?有没有办法知道共享主机是否会切断资源,这就是为什么脚本无法执行或者是否有其他原因?如何在重负载期间优化脚本以获得最佳性能?
答案 0 :(得分:0)
我最终重写为C#并部署到Azure