MySQL ha chiamato le pipe su Windows: best practice più veloce o cattiva idea?
-
08-07-2019 - |
Domanda
Ultimamente ho preferito usare le pipe con nome (opzione --enable-named-pipe) in MySQL in esecuzione su Windows e connettermi tramite il driver del connettore .NET. È spesso consigliato per motivi di sicurezza, ma una cosa che mi consente di fare è connettermi con ". & Quot; come stringa di connessione e sviluppo sul mio PC e distribuzione sul server senza dover modificare la stringa di connessione (per puntare all'host del server anziché alla mia copia del DB).
Oltre a ciò, nella mia esperienza c'è una certa velocità che ho attribuito a un vantaggio di latenza su TCP. Alcuni riferimenti che ho trovato online fanno eco che:
Stavamo testando con successo MySQL 5.0 usando la pipe denominata e quale aumento della velocità! Il 50% nel caso di questo grande progetto Prima potrebbe essere una buona idea usare l'ultimo driver JConnector di MySQL
http://www.waltercedric.com/component/ content / article / 1217.html
In semplici test delle prestazioni, sembra che l'accesso con pipe denominato sia tra il 30% e il 50% più veloce dell'accesso TCP / IP standard. Tuttavia, questo varia in base al sistema e, in molti, le pipe denominate sono più lente del TCP / IP Configurazioni di Windows.
http: //dev.mysql.com/doc/refman/5.1/en/connector-j-reference-configuration-properties.html
Ma in quali "configurazioni" è più lento? Ad ogni modo, ho proceduto supponendo che sia più veloce per l'accesso localhost rispetto a TCP, tuttavia non sono stato in grado di trovare nulla di definitivo. Forse è anche più specifico per quel particolare driver utilizzato.
Soluzione
Prova a guardare http://msdn.microsoft .com / it-it / library / aa178138 (SQL.80) .aspx
Anche se parla di MS SQL Server, le pipe con nome Local in esecuzione in modalità kernel dovrebbero continuare a essere applicate
Dal link di cui sopra:
È anche importante chiarire se stanno parlando di tubi locali o tubi di rete. Se il server l'applicazione è in esecuzione localmente sul computer che esegue un'istanza di Microsoft & # 174; SQL Server & # 8482; 2000, il locale Il protocollo Named Pipes è un'opzione. Le pipe con nome locale vengono eseguite in modalità kernel ed è estremamente veloce.
Altri suggerimenti
Ho fatto un rapido test: scaricare un db in un file e reimportarlo sulla mia macchina di sviluppo XP. Nessuna differenza ha mostrato - i risultati sono rimasti gli stessi.
Che cosa influenzerebbe le pipe nominate ad essere sempre più lente?
Grazie