Hallo zusammen,
ich muss einen XML-String an einen Server schicken.
Der Server erfordert eine Authentifizierung.
Nun haben wir ein IBM-System i auf dem ein Apache mit PHP(5) läuft.
Der Server ist über eine DSL-16Mbit Leitung ans WWW angebunden.
Folgendes habe ich bereits versucht :
Die Antwort kommt nach ca. 14 Sekunden (bei 1 Artikel).
Bei 5 Artikeln dauert es 30 Sekunden.
Dieser Teil :
dauert alleine 10 Sekunden.
Das Ganze habe ich mit Curl versucht, wobei es fast genauso lange dauert.
Wenn ich das Script auch einem Webserver teste (im Web bei 1und1) dann dauert es nur 3-5 Sekunden.
Kann ich an der Performance etwas ändern ?
Gibt es PHP-Einstellungen, die etwas bringen könnten ?
Gibt es alternativen zu meinen beiden Varianten ?
Bitte um eure Hilfe.
Gruß jogi
ich muss einen XML-String an einen Server schicken.
Der Server erfordert eine Authentifizierung.
Nun haben wir ein IBM-System i auf dem ein Apache mit PHP(5) läuft.
Der Server ist über eine DSL-16Mbit Leitung ans WWW angebunden.
Folgendes habe ich bereits versucht :
PHP-Code:
$fp1 = fopen("./anfrage.xml","r");
$kennung = base64_encode("user:pass");
while(!feof($fp1))
{
$file1 = fgets($fp1, 100);
$file = $file.$file1;
}
$data = "";
$fp = fsockopen("ssl://server.com",443,$errstr,$errno);
if(!$fp)
{
die();
}
else
{
$file = addslashes($file);
$data = $file;
fputs($fp, "POST /webservice/XMLServlet HTTP/1.0\r\n");
fputs($fp, "Host: server.com\r\n");
fputs($fp, "Authorization: Basic ".$kennung." \r\n");
fputs($fp, "Content-length: ". strlen($data) ."\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data);
}
while(!feof($fp))
{
$fget = fgets($fp, 128);
$data .= $fget;
}
fclose($fp);
$xml_arr = explode("\r\n\r\n",$data);
echo $xml_arr[1];
Bei 5 Artikeln dauert es 30 Sekunden.
Dieser Teil :
PHP-Code:
while(!feof($fp))
{
$fget = fgets($fp, 128);
$data .= $fget;
}
Das Ganze habe ich mit Curl versucht, wobei es fast genauso lange dauert.
Wenn ich das Script auch einem Webserver teste (im Web bei 1und1) dann dauert es nur 3-5 Sekunden.
Kann ich an der Performance etwas ändern ?
Gibt es PHP-Einstellungen, die etwas bringen könnten ?
Gibt es alternativen zu meinen beiden Varianten ?
Bitte um eure Hilfe.
Gruß jogi

Kommentar