2009-04-22 12 views
1

Ich habe zahlreiche Verbindungsprobleme zwischen meiner Java (JPA + Hibernate + CommonsDBCP) -App Verbindung zu MySQL. Ich habe die Forschung gemacht, alle Einstellungen mit Validierungsabfragen, Timeouts, Tests vor X, etc. optimiert.Named Pipes im Vergleich zu TCP für JDBC-MySQL in Windows

Dieser Pfad führte mich zu einer anderen StackOverflow Frage DBCP und C3PO zu vergleichen. Aus den Antworten habe ich beschlossen, C3PO definitiv auszuprobieren.

Auf dem Weg habe ich jedoch eine andere Option gefunden: Named Pipes, da sowohl der App Server als auch MySQL auf demselben Rechner laufen. Das Problem ist, ich kann nicht viele Details über diese Methode finden.

Also hier ist meine Frage: was wird am meisten STABLE Option: Named Pipes oder TCP w/C3PO? Alle Geschichten oder Wissen wäre am meisten Willkommen sowie Antworten.

Antwort

2

Nun hängt es von Ihrer Situation:

Wer zu MySQL verbindet? Clients von einer langsamen LAN- oder WAN-Verbindung? Oder localhost?

TCP/IP hat den Vorteil der Verbindung Backlogging, wo Named Pipes nicht, also für langsame Verbindungen oder WAN, würde ich mit TCP/IP gehen; Sonst Named Pipes.

Auch lokale Named Pipes laufen im Kernel-Modus, also werden sie ziemlich schnell sein.

Versuch, der bei http://msdn.microsoft.com/en-us/library/aa178138(SQL.80).aspx

Auch wenn es über MS SQL Server spricht, die lokalen Named Pipes im Kernel-Modus ausgeführt sollte gelten weiterhin.