Bekijk Volledige Versie : langzame ftp
Hallo,
Een kalnt van mij heeft een cms systeem waarmee hij de stats en bepaalde afbeelding mappen uitleest via ftp.
Dit doet hij met het met een php nlist command
Nu gebeurd het vaak dat opeens het script niet meer werkt,
of dat het heel lang duurd heel lang.
Wat kan daar de oorzaak van zijn?
marsipulami
29/04/10, 11:31
Nou daar gaan we weer:
logs
slecht gescripte code ervoor gebruikt?
Heeft hij een brakke internet verbinding
Iets meer informatie kan geen kwaad
Zoals marsipulami komt zeggen is info wel welkom, eerste wat ik kan denken is timeout van ftp server (in script wel te verstaan) wat lager zetten zodat er niet telkens 120 seconden of 60 seconden gewacht wordt per bestand.
De time out staat op 90 seconde
Het volgebnde script word gebruikt
function ftpList($userid, $destination) {
$RightServerSettings = getRightServer($userid);
$ftp_server = $RightServerSettings[ftpserver];
$ftp_user_name = $RightServerSettings[ftpnaam];
$ftp_user_pass = $RightServerSettings[ftppass];
$destination_file = $RightServerSettings[ftppath] . $destination;
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$result = ftp_nlist($conn_id, $destination_file);
ftp_close($conn_id);
$result2 = array();
if($result){
foreach ($result as $value) {
if(substr($value,strlen($value)-1) != "."){
array_push($result2, str_replace($destination_file . "/","",$value));
}
}
}
/*
echo "<pre>";
print_r($RightServerSettings);
echo "<hr>";
print_r($result);
echo "<hr>";
print_r($result2);
echo "</pre><br>$destination_file";
*/
return ($result2);
Blijven de overige vragen bestaan:
* Brakke internet verbinding?
* Wat staat er in de logs?
"Boxis": was dat dit probleem dat ik vanmiddag heb opgelost? Wel toch?
Voor de geïnteresseerden: 1 of 2 dode DNS servers in de resolv.conf, dus resolving deed het niet/duurde veeeel te lang. Even OpenDNS erin gegooid en het werkte allemaal weer :)
Het klopte inderdaad. het was dat probleem
Helaas blijft het script nu ftp nlist fouten geven.
De timeout staat ook op 10 seconde.
Dit is denk ik te laag.
VEder is de ftp nog niet super snel maar wel beter
Het uplaoden loopt nu veder prina, alleen het list command.
Dus het opvragen van de mappen gaat fout bij sommige domeinnnamen.
Het lijkt erop dat alles steeds vast loopt.
Deze foutmelding krijgen we
POST & GET:
bron => ERROR
CmsUser => vvalblasserdam.nl
Bericht => nList fout www.webstudio88.nl
/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\/-\\
DNS is cruciaal inderdaad. RDNS helpt ook mee met de snelheid ivm resolven.
Ramon Fincken
02/05/10, 17:08
is er geen DB beschikbaar?
Dan lees je die resultaten eenmalig in als er nieuwe zijn. Kun je daarna ook veel meer en veel sneller gegevens er weer uithalen.
Ik heb nog is veder gekeken naar de fout, maar deze komt volgensmij door een timeout fout bij het opvragen van de mappen na het uploaden van een bestand.
De dns werkt nu goed en staat ook goed ingesteld