2016-06-03 13 views
1

Ich teste zwei Versionen des gleichen Skripts. Jedes Skript führt denselben Vorgang aus, unterscheidet sich jedoch darin, wie das Ergebnis ausgegeben wird. Jedes Skript:Testen von PHP-Skript zum Rendern von Bildern auf Shared Hosting mit JMeter

  1. Lädt ein lokales Bild mit imagecreatefrompng()
  2. Fügt Text Bild unter Verwendung imagettftext()

Das erste Skript gibt das endgültige Bild auf diese Weise:

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); 

2. Skript:

Beide Skripte funktionieren gut, wenn ich sie direkt im Browser aufrufen und ich bekomme das erwartete Ergebnis. Aber wenn ich JMeter für den Belastungstest jedes einzelnen benutze, bekomme ich oft eine nicht-deskriptive 500 Fehlermeldung in jedem Skript.

Die Datei Fehler Datei, die normalerweise erstellt wird, wenn Fehler im Skript vorhanden sind, ist nicht vorhanden.

Wie kann ich die Ursache des Fehlers 500 beheben? Gibt es eine Möglichkeit zu wissen, ob es das Shared Hosting ist, das Ressourcen abschneidet und warum Skripte nicht ausgeführt werden können oder ob es etwas anderes ist? Wie kann ich meine Skripts für eine optimale Leistung bei starker Auslastung optimieren?

+0

nicht das Skript überhaupt sein kann, aber ein Shared-Hosting, entweder ein Problem mit ihm, oder sogar eine Art der Verteidigung gegen zu viele Anfragen aus dem gleichen Host . Ich denke, der beste Test wäre, einen eigenen Webserver einzurichten und darauf zu testen. –

Antwort

0

Ich landete auf C# Umschreiben und Bereitstellung zu Azure