Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Pengujian Beban Jaringan Menggunakan iPerf

Menjadi administrator database bisa sangat menantang saat Anda harus memecahkan masalah kinerja. Server database hanyalah salah satu komponen dari ekosistem aplikasi dan secara rutin disalahkan sebagai masalah kinerja. SQL Server adalah salah satu kotak hitam yang banyak orang tidak mengerti, seperti SAN dan jaringan. DBA produksi yang memantau server mereka dapat dengan cepat mengidentifikasi apakah SQL Server berkinerja di luar garis dasar normalnya, namun ada dua area utama yang tidak terlalu terlihat oleh kami:SAN dan jaringan. DBA secara teratur harus bekerja dengan insinyur lain untuk memecahkan masalah kinerja yang tidak terkait langsung dengan SQL Server. Kami dapat dengan mudah melacak kinerja disk dengan memantau sys.dm_io_virtual_file_stats , yang saya tulis di Monitoring Read/Write Latency; namun, melacak masalah kinerja jaringan dalam SQL Server tidak semudah itu.

Kinerja jaringan yang buruk dapat menjadi pembunuh diam-diam untuk kinerja aplikasi dan pengalaman pribadi saya telah menunjukkan hal ini dalam banyak kesempatan. Seringkali aplikasi akan mulai mengalami masalah kinerja dan insinyur aplikasi akan mengatakan bahwa server aplikasi terlihat bagus dan mulai mengarahkan jari mereka ke database. Saya akan mendapat panggilan untuk melihat server database dan semua indikasi menunjukkan bahwa server database dalam keadaan baik (dan di sinilah pemantauan untuk indikator kinerja utama dan memiliki baseline membantu!). Karena tim aplikasi dan database mengatakan semuanya baik-baik saja, kami akan meminta tim jaringan untuk memeriksa semuanya. Tim jaringan akan melihat beberapa hal dan memberikan semuanya dengan jelas di pihak mereka juga. Setiap tim memecahkan masalah dan meninjau sistem masing-masing membutuhkan waktu, sementara kinerja aplikasi masih buruk. Masalah kemudian akan meningkat sampai semua tim akan diminta untuk bergabung dengan jembatan konferensi untuk memecahkan masalah bersama. Akhirnya seseorang akan memulai tes jaringan yang lebih dalam dan menentukan bahwa kami memiliki saturasi port, perutean, atau masalah jaringan kompleks lainnya. Beberapa klik atau mengubah sesuatu pada akhirnya akan mengatasi kelambatan aplikasi.

Masalah jaringan paling signifikan yang saya temui dengan klien biasanya melibatkan bandwidth saat melakukan pencadangan. Banyak organisasi yang lebih besar bermigrasi ke jaringan 10 Gb untuk infrastruktur inti, namun ketika bekerja dengan jaringan fisik dan virtual, mudah untuk salah mengonfigurasi pengaturan atau port dan menurunkannya ke 1 Gb. Untuk lalu lintas jaringan aplikasi biasa, Anda mungkin tidak melihat penurunan kinerja, namun begitu Anda mulai mencoba menyalin 100-an GB data untuk pencadangan, 1 Gb itu akan menjadi jenuh dan pekerjaan pencadangan dan pemulihan Anda akan terganggu.

Bagi DBA, mungkin sulit untuk membuat orang lain melihat lebih dalam ke masalah yang menurut mereka bukan masalah mereka karena indikator awal tidak mengungkapkan masalah. Mampu mempersenjatai diri dengan data sebelum menjangkau tim lain akan membantu melibatkan mereka. Dengan menggunakan iPerf untuk melakukan tes bandwidth awal, Anda dapat dengan cepat menentukan apakah Anda mendapatkan kecepatan jaringan yang seharusnya. Misalnya, jika Anda menggunakan jaringan 10 Gb antara server aplikasi dan server database dan Anda menjalankan tes dan hanya mendapatkan 1 Gb, maka Anda tahu ada sesuatu yang tidak beres. Jika Anda dapat mendokumentasikan temuan ini, maka Anda dapat dengan percaya diri meminta teknisi jaringan Anda untuk menyelidiki masalah bandwidth.

Bagaimana Anda mulai menggunakan iPerf? Pertama, Anda perlu mengunduh alat dari iPerf.fr. Karena saya bekerja di Windows Server 2012, saya telah mengunduh binari Windows ke mesin saya. Setelah Anda mengunduh dan mengekstrak paket, Anda harus menjalankan program dari baris perintah. Saya mengunduh iPerf 3.0.11 yang telah keluar selama hampir satu tahun. Pastikan untuk membaca dokumentasi utilitas ini. Karena ini adalah alat baris perintah, ada lusinan opsi yang dapat Anda gunakan. Dalam contoh di bawah ini saya hanya akan menggunakan beberapa dari mereka, namun tergantung pada situasi Anda, Anda mungkin perlu menggunakan opsi lain seperti menentukan port atau meningkatkan ukuran paket. Harap perhatikan bahwa perintah opsi peka terhadap huruf besar/kecil.

Untuk menggunakan iPerf, Anda harus menggunakan setidaknya dua server untuk menguji bandwidth. Setelah Anda menyalin binari ke dua server, Anda harus terlebih dahulu memulai pendengar iPerf di salah satu server. Untuk melakukan ini, saya akan menjalankan perintah berikut:

iperf3 -s

Perintah ini menjalankan iPerf dalam mode server dan hanya akan mengizinkan satu koneksi dalam satu waktu.

Di server kedua Anda perlu meluncurkan iPerf menggunakan beberapa opsi klien. Pertama kita akan menentukan -c untuk menentukan mode klien. Kami juga akan menggunakan -t untuk menentukan waktu untuk menjalankan setiap pengujian dan -P untuk menentukan jumlah koneksi simultan yang akan dibuat. Kami ingin menentukan beberapa koneksi sehingga kami dapat memberikan tekanan yang tepat pada jaringan. Untuk tes ini saya akan menjalankan perintah berikut:

iperf3 -c (nama server atau alamat ip server pertama) -t 30 -P 10

Perintah di atas akan memulai uji transmisi 30 detik dengan 10 koneksi simultan.

Saya menjalankan tes ini pada dua mesin virtual di Dell M6800 saya sehingga tidak ada jaringan fisik untuk dilalui VM ini.

Dari server 2 yang terhubung ke server 1 saya mendapat 7,57 GBytes yang ditransfer dengan bandwidth 2,17 Gbits/dtk. Lumayan untuk beberapa VM di laptop.

Statistik jaringan / keluaran iPerf :Server 2 terhubung ke Server 1

Dari server 1 terhubung ke server 2 saya mendapat 6,98 GBytes ditransfer dengan bandwidth 2,00 Gbits/sec. Seperti yang Anda lihat ada sedikit perbedaan dalam angka tetapi masih relatif dekat. Seandainya angka-angka ini berbeda secara drastis maka saya perlu menyelidiki penyebabnya.

Statistik jaringan / keluaran iPerf :Server 1 terhubung ke Server 2

Penting untuk menjalankan pengujian ini sebelum masuk ke produksi dan membiasakan untuk mengulangi pengujian ini secara teratur di server produksi Anda. Anda perlu tahu apa yang normal, jika Anda tidak memantaunya, maka Anda tidak dapat mengukurnya. Jika Anda mengetahui bahwa pembaruan firmware sedang dilakukan di server Anda, host virtual, atau peralatan jaringan inti apa pun, tes iPerf sebelum dan sesudah perubahan dapat dengan cepat mengingatkan Anda untuk mengidentifikasi efek samping negatif apa pun.

Penting juga untuk melakukan pengujian ini terhadap server mana pun yang berinteraksi langsung dengan server basis data dan server mana pun yang secara langsung berinteraksi dengan server basis data seperti perangkat cadangan jaringan. IPerf bekerja pada Windows dan Linux sehingga mudah untuk menguji antara dua Sistem Operasi.

Untuk DBA, jaringan tidak lagi harus menjadi kotak hitam yang tidak Anda ketahui. Menggunakan iPerf dapat mengingatkan Anda tentang masalah bandwidth dengan jaringan antara server database Anda dan server lainnya. Tidak ada alasan untuk hanya mengandalkan PING dan TRACERT untuk pemecahan masalah jaringan terbatas. Unduh iPerf dan mulailah mendokumentasikan bandwidth jaringan Anda.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memahami Perbedaan antara Operator KECUALI dan NOT IN

  2. SQL, cara memperbarui struktur tabel

  3. Pemantauan Kinerja untuk TimescaleDB

  4. SQL PILIH MIN

  5. Keluarga Prosesor AMD Baru Bandingkan Dengan Prosesor Intel Baru