Saat menyambungkan ke SQL Server 2008 R2 dari aplikasi klien .NET 4 pada server berbeda di LAN yang sama, seseorang dapat menetapkan tiga protokol jaringan yang berbeda:
- TCP
- Pipa Bernama
- Jangan atur apa pun di string koneksi dan gunakan default
Apa praktik terbaik? Apa yang harus dipilih?
Informasi tambahan: TCP dan Named Pipes diaktifkan pada server dan pada klien. Aplikasi ini menggunakan mirroring basis data. Klien dan server berkomunikasi melalui LAN cepat.
Kami sedang menyelidiki ini karena kami memiliki masalah konektivitas dan waktu tunggu yang jarang dan palsu. (Tapi terlepas dari itu saya ingin tahu praktik terbaik).
Ada artikel tentang hal ini di MSDN tetapi sangat umum dan tidak jelas. Itu tidak menyarankan atau merekomendasikan sesuatu yang berguna.
tcp:
dikonfigurasi sebagai bagian dari sebagian besar string koneksi di lingkungan perusahaan yang berbeda bertahun-tahun kemudian. Saya berasumsi mereka menemukan masalah yang sama.Jawaban:
Saya lebih suka TCP / IP daripada Named Pipes, meskipun dalam kebanyakan situasi tidak akan ada perbedaan yang nyata. Anda dapat melakukan ini dengan menyesuaikan protokol yang didukung oleh instance dalam SQL Server Configuration Manager daripada mengkodekan hal-hal dalam string koneksi Anda (ini membuatnya lebih mudah untuk membuat perubahan atau untuk memecahkan masalah).
Pada dasarnya perutean dan overhead lainnya yang terlibat dengan pipa bernama (kecuali aplikasi Anda berada di mesin yang sama dengan SQL Server, dalam hal ini hanya ada sedikit overhead tambahan) menjadikannya pilihan yang kurang efisien, terutama pada skala, dalam lingkungan jaringan yang lebih lambat (100MB atau kurang), atau jika beban kerja Anda meledak.
Jika aplikasi Anda berada di kotak yang sama dengan SQL Server, Anda juga harus mengingat memori bersama - jika Anda memiliki aplikasi di kotak SQL Server yang langsung berkomunikasi dengan SQL Server, ini akan menjadi pilihan yang paling efisien.
Anda dapat membaca tentang keunggulan kinerja TCP / IP lebih terinci .
sumber
Protokol Bernama Pipa berguna untuk aplikasi yang dirancang di sekitar NetBIOS atau protokol berbasis LAN lainnya.
Named Pipes menyediakan akses mudah ke Remote Procedure Calls (RPC) dalam satu domain keamanan dan karenanya menguntungkan untuk aplikasi ini.
Biasanya protokol TCP bagus dalam praktiknya karena Anda tidak perlu peduli tentang semua ini di jaringan.
sumber