Domanda

Ho un nuovo server VPS e sto cercando di farlo connettersi a un altro server sullo stesso ISP. Quando mi connetto tramite lo strumento da riga di comando di mysql, la connessione è molto veloce.

Quando uso PHP per connettermi al DB remoto, il tempo di connessione può richiedere fino a 5 secondi. Le domande successive vengono eseguite rapidamente.

Questo non si limita a mysql, usando file_get_contents () per scaricare un file da quasi tutti gli altri server si ottiene lo stesso ritardo. L'uso di wget per ottenere il file non presenta questo ritardo.

Ho cronometrato le query DNS dall'interno di PHP usando dns_get_record (), e queste sono veloci (1-2 millisecondi).

Qualche idea su cosa nella configurazione di php potrebbe causare questo?

Grazie.

È stato utile?

Soluzione 2

Ho finito l'upgrade da PHP 5.1.6 a PHP 5.2.6 e il problema è scomparso. Sicuramente si trattava di un problema di ricerca DNS all'interno di PHP, per l'esecuzione di quanto segue occorrerebbero circa 5 secondi:

gethostbyname('example.com')

Ho la sensazione che IPV6 sia stato un problema (principalmente un sospetto di lettura di questo online), ma non ho alcuna prova.

Altri suggerimenti

Vorrei verificare in quale modalità PHP è in esecuzione, è per qualche motivo che esegue gli script come CGI. Fondamentalmente il PHP stesso è davvero lento, ed è evidente solo quando si eseguono operazioni remote.

Controlla la configurazione del web server. Inoltre, se è un'opzione, prova PHP dalla riga di comando e vedi se funziona meglio senza il livello del server web coinvolto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top