Topik ini menjelaskan metrik yang harus dipantau selama pemeliharaan Komunikasi Memori Bersama (SMC) untuk menentukan kesehatan jaringan.
Prasyarat
smc-tools, rangkaian alat pemeliharaan SMC mode pengguna dari Alibaba Cloud Linux 3, harus sudah terinstal.
Jika smc-tools belum terinstal, jalankan perintah berikut untuk menginstalnya:
sudo yum install -y smc-toolsPantau tumpukan protokol
Tumpukan SMC menyediakan metrik statistik terkait koneksi, lalu lintas, dan memori bersama, serta mentransfer metrik tersebut ke ruang pengguna melalui netlink. Perintah smcr dalam rangkaian alat smc-tools mengambil dan menafsirkan metrik statistik dari netlink.
Kueri Statistik tentang Tumpukan SMC-R
Jalankan perintah berikut untuk mengkueri statistik tentang tumpukan SMC over Remote Direct Memory Access (SMC-R) di
net namespacesaat ini:smcr statsContoh keluaran perintah:
# smcr stats Ringkasan Koneksi SMC-R Total koneksi yang ditangani 5076 Koneksi SMC 5076 Kesalahan jabat tangan 0 Rata-rata permintaan per koneksi SMC 1977.0 Fallback TCP 0 Statistik RX Data yang ditransmisikan (Bytes) 200705600 (200.7M) Total permintaan 5017741 Penggunaan buffer (Bytes) 0 (0) Buffer penuh 0 (0.00%) 8KB 16KB 32KB 64KB 128KB 256KB 512KB >512KB Bufs 0 0 0 0 0 5.076K 0 0 Reqs 5.018M 0 0 0 0 0 0 0 Statistik TX Data yang ditransmisikan (Bytes) 1194173445 (1.194G) Total permintaan 5017640 Penggunaan buffer (Bytes) 0 (0) Buffer penuh 0 (0.00%) Buffer penuh (remote) 0 (0.00%) Buffer terlalu kecil 0 (0.00%) Buffer terlalu kecil (remote) 0 (0.00%) 8KB 16KB 32KB 64KB 128KB 256KB 512KB >512KB Bufs 0 0 0 0 0 5.076K 0 0 Reqs 5.018M 0 0 0 0 0 0 0 Ekstra Panggilan soket khusus 5Catat parameter berikut.
Parameter
Deskripsi
Total koneksi yang ditanganiTotal jumlah koneksi yang ditangani oleh tumpukan SMC-R, yaitu jumlah dari nilai
Koneksi SMC,Kesalahan jabat tangan, danFallback TCP.Koneksi SMCTotal jumlah koneksi yang dikonversi menjadi koneksi SMC-R.
Kesalahan jabat tanganTotal jumlah koneksi yang gagal karena kesalahan selama fase jabat tangan, seperti tidak ada respons diterima dari peer.
Rata-rata permintaan per koneksi SMCRata-rata jumlah permintaan yang diterima atau dikirim per koneksi SMC.
Fallback TCPTotal jumlah koneksi yang kembali ke TCP/IP.
Rx/Data yang ditransmisikan (Bytes)Total jumlah byte yang diterima melalui koneksi SMC-R.
Rx/Total permintaanTotal jumlah permintaan yang diterima melalui koneksi SMC-R.
Rx/Penggunaan buffer(Bytes)Total ukuran buffer Rx yang digunakan oleh koneksi SMC-R. Unit: byte.
Rx/Buffer penuhTotal jumlah kali buffer Rx untuk koneksi SMC-R menjadi penuh. Jika aplikasi mode pengguna yang menggunakan koneksi SMC-R tidak membaca data dari buffer Rx yang dialokasikan untuk koneksi secara tepat waktu, buffer Rx mungkin menjadi penuh. Untuk mengurangi nilai parameter ini, konfigurasikan aplikasi mode pengguna yang menggunakan koneksi SMC-R untuk membaca data dari buffer Rx secepat mungkin atau tingkatkan kapasitas buffer Rx. Jika tidak, pengirim akan tertekan dan penerima tidak dapat menerima data baru.
Rx/BufsDistribusi buffer Rx yang digunakan oleh koneksi SMC-R. SMC-R mempertahankan kolam memori untuk setiap grup link. Saat koneksi dibuat, SMC-R mengalokasikan blok memori idle dengan ukuran yang sesuai dari kolam memori ke koneksi sebagai buffer Rx. Jika tidak ada blok memori idle yang tersedia, SMC-R membuat blok memori baru dengan ukuran yang sesuai. Setelah koneksi ditutup, blok memori direklaim ke kolam memori. Parameter ini menentukan total jumlah kali buffer Rx dialokasikan dari kolam memori ke koneksi SMC-R dan distribusi ukuran buffer Rx, termasuk jumlah kali buffer Rx dibuat dan digunakan kembali, tetapi tidak menentukan jumlah sebenarnya dari buffer Rx yang mengonsumsi memori.
Rx/ReqsDistribusi ukuran permintaan yang diterima melalui koneksi SMC-R.
Tx/Data yang ditransmisikan (Bytes)Total jumlah byte yang dikirim melalui koneksi SMC-R.
Tx/Total permintaanTotal jumlah permintaan yang dikirim melalui koneksi SMC-R.
Tx/Buffer penuhTotal jumlah kali buffer transmisi (Tx) untuk koneksi SMC-R menjadi penuh. Jika tumpukan SMC-R tidak mengirimkan data di buffer Tx ke link secara tepat waktu, buffer Tx mungkin menjadi penuh. Jika persentase tinggi, tingkatkan kapasitas buffer Tx berdasarkan kebutuhan bisnis Anda.
Tx/Buffer penuh (remote)Total jumlah kali buffer Rx peer untuk koneksi SMC-R menjadi penuh. Jika buffer Rx peer untuk koneksi SMC-R penuh, ujung lokal tidak dapat mengirim data ke peer. Jika persentase tinggi, tingkatkan kapasitas buffer Rx peer berdasarkan kebutuhan bisnis Anda.
Tx/Buffer terlalu kecilTotal jumlah kali ukuran permintaan yang dikirim melalui koneksi SMC-R melebihi ukuran buffer Tx yang sesuai. Jika ukuran permintaan yang dikirim melalui koneksi SMC-R melebihi ukuran buffer Tx yang sesuai, ukuran buffer Tx terlalu kecil. Jika persentase tinggi, tingkatkan kapasitas buffer Tx berdasarkan kebutuhan bisnis Anda.
Tx/Buffer terlalu kecil (remote)Total jumlah kali ukuran permintaan yang dikirim melalui koneksi SMC-R melebihi ukuran buffer Rx peer yang sesuai. Jika ukuran permintaan yang dikirim melalui koneksi SMC-R melebihi ukuran buffer Rx peer yang sesuai, ukuran buffer Rx peer terlalu kecil. Jika persentase tinggi, tingkatkan kapasitas buffer Rx peer berdasarkan kebutuhan bisnis Anda.
Tx/BufsDistribusi buffer Tx yang digunakan oleh koneksi SMC-R. SMC-R mempertahankan kolam memori untuk setiap grup link. Saat koneksi dibuat, SMC-R mengalokasikan blok memori idle dengan ukuran yang sesuai dari kolam memori ke koneksi sebagai buffer Tx. Jika tidak ada blok memori idle yang tersedia, SMC-R membuat blok memori baru dengan ukuran yang sesuai. Setelah koneksi ditutup, blok memori direklaim ke kolam memori. Parameter ini menentukan total jumlah kali buffer Tx dialokasikan dari kolam memori ke koneksi SMC-R dan distribusi ukuran buffer Tx, termasuk jumlah kali buffer Tx dibuat dan digunakan kembali, tetapi tidak menentukan jumlah sebenarnya dari buffer Tx yang mengonsumsi memori.
Tx/ReqsDistribusi ukuran permintaan yang dikirim melalui koneksi SMC-R.
Kueri Statistik tentang Grup Link SMC-R
CatatanSecara default, sebuah grup link berisi satu Link dan dapat membawa hingga 32 koneksi SMC-R. Setiap grup link digunakan untuk mempertahankan sekumpulan sumber daya RDMA di SMC-R, termasuk Queue Pairs (QP), Protection Domains (PD), dan Memory Registrations (MR).
Jalankan perintah berikut untuk mengkueri statistik tentang semua grup link SMC-R yang terkait dengan perangkat RDMA yang dapat diakses di net namespace saat ini:
smcr linkgroupContoh keluaran perintah:
# smcr linkgroup LG-ID LG-Role LG-Type VLAN #Conns PNET-ID 00000300 SERV SINGLE 0 0Catat jumlah grup link, yang menunjukkan jumlah QP yang sedang digunakan, serta parameter dalam tabel berikut.
Parameter
Deskripsi
#ConnsJumlah koneksi SMC yang dibawa oleh
grup link.Untuk informasi lebih lanjut tentang grup link, jalankan perintah
smcr -d linkgroup.Contoh keluaran perintah:
LG-ID : 00000500 LG-Role : CLNT LG-Type : SINGLE VLAN : 0 PNET-ID : Versi : 2 Peer-Rel : 1 Peer-Host: Peer-OS : LINUX Direct : Ya EID : SMCV2-DEFAULT-UEID #Conns : 32 Sndbuf : 8388608 B CNY : 8388608 BCatat parameter berikut.
Parameter
Deskripsi
SndbufTotal jumlah memori yang ditempati oleh kolam buffer Tx yang dipertahankan oleh grup link. Unit: byte.
CNYTotal jumlah memori yang ditempati oleh kolam buffer Rx yang dipertahankan oleh grup link. Unit: byte.
Kueri Statistik tentang Perangkat SMC-R
Jalankan perintah berikut untuk mengkueri informasi tentang perangkat RDMA yang digunakan oleh tumpukan SMC-R:
smcr deviceContoh keluaran perintah:
# smcr device Net-Dev IB-Dev IB-P IB-State Type Crit #Links PNET-ID eth1 erdma_0 1 ACTIVE 0x107f No 0Catat parameter berikut.
Parameter
Deskripsi
Net-DevNama perangkat Ethernet.
IB-DevNama perangkat RDMA.
IB-PPort perangkat RDMA.
IB-StateStatus perangkat RDMA.
TypeTipe perangkat RDMA. Jika perangkat adalah perangkat eRDMA elastis (eRDMA) dari Alibaba Cloud,
0x107fditampilkan.#LinksJumlah link yang terkait dengan perangkat RDMA.
PNET-IDID jaringan fisik (PNET) perangkat RDMA. Untuk informasi lebih lanjut, lihat konfigurasi parameter ID PNET.
Pantau koneksi
Mirip dengan ss, alat mode pengguna SMC smcss dalam rangkaian alat smc-tools memantau soket SMC. Alat smcss mengambil informasi soket dari netlink, termasuk detail soket yang menggunakan SMC setelah negosiasi atau kembali ke TCP jika negosiasi gagal.
Kueri Informasi Dasar tentang Soket SMC
Jalankan perintah berikut untuk mengkueri informasi dasar tentang soket SMC yang sedang menghubungkan, menutup, atau terhubung pada tumpukan SMC atau kembali ke tumpukan TCP di
net namespacesaat ini:smcssContoh keluaran perintah:
# smcss State UID Inode Local Address Peer Address Intf Mode ACTIVE 00994 2954337 xxx.xxx.x.xx:80 xxx.xxx.x.xx:36000 0000 SMCR ACTIVE 00994 2953297 xxx.xxx.x.xx:80 xxx.xxx.x.xx:35948 0000 TCP 0x03010000Catat parameter berikut.
INIT: Soket sedang diinisialisasi.CLOSED: Soket ditutup.LISTEN: Soket adalah soket mendengarkan.ACTIVE: Soket SMC memiliki koneksi yang telah dibuat.PEERCLW1: Tidak ada data lebih lanjut yang akan dikirim ke peer.PEERCLW2: Tidak ada data lebih lanjut yang akan dikirim ke atau diterima dari peer.APPLCLW1: Tidak ada data lebih lanjut yang akan diterima dari peer.APPLCLW2: Tidak ada data lebih lanjut yang akan diterima dari atau dikirim ke peer.APPLFINCLW: Peer telah menutup soket.PEERFINCLW: Soket ditutup secara lokal.PEERABORTW: Soket ditutup secara abnormal secara lokal.PROCESSABORT: Peer telah menutup soket secara abnormal.SMCR: menggunakan tumpukan SMC-R untuk komunikasi.
TCP <alasan fallback>: kembali ke tumpukan TCP/IP. Kode numerik menunjukkan alasan fallback. Untuk informasi tentang arti kode numerik, lihat fallback ke TCP/IP setelah mengaktifkan SMC.Kueri Statistik tentang Soket SMC dalam Status LISTEN
Jalankan perintah berikut untuk mengkueri statistik tentang soket SMC dalam status mendengarkan (LISTEN) di
net namespacesaat ini:smcss -lParameter dalam keluaran perintah
smcss -lsama dengan yang ada dalam keluaran perintahsmcss.Kueri Statistik tentang Soket SMC yang Berjalan pada Tumpukan SMC-R
Jalankan perintah berikut untuk mengkueri statistik tentang soket SMC yang berjalan pada tumpukan SMC-R di
net namespacesaat ini:smcss -RContoh keluaran perintah:
# smcss -R State UID Inode Local Address Peer Address Intf Mode Role IB-device Port Linkid GID Peer-GID ACTIVE 00000 1833669 xxx.xxx.x.xx:33618 xxx.xxx.x.xx:80 0000 SMCR CLNT erdma_0 01 01 0000:0000:0000:0000:0000:xxxx:xxxx:xxxx 0000:0000:0000:0000:0000:xxxx:xxxx:xxxxSelain parameter dasar sebelumnya dalam keluaran perintah
smcss, catat parameter berikut.Parameter
Deskripsi
IB-device
Nama perangkat RDMA yang digunakan untuk koneksi.
Port
Port perangkat RDMA yang digunakan untuk koneksi.
GID
ID global (GID) perangkat RDMA yang digunakan untuk koneksi.
Peer-GID
GID perangkat RDMA peer.
Kueri Statistik tentang Semua Soket SMC
Jalankan perintah berikut untuk mengkueri statistik tentang semua soket SMC di
net namespacesaat ini:smcss -aParameter dalam keluaran perintah
smcss -asama dengan yang ada dalam keluaran perintahsmcss.
Parameter | Deskripsi |
| Status soket. Nilai valid: |
| Alamat IPv4 lokal atau IPv4-mapped IPv6 dan port. SMC hanya mendukung protokol IPv4. |
| Alamat IPv4 peer atau IPv4-mapped IPv6 dan port. SMC hanya mendukung protokol IPv4. |
| Mode komunikasi. |
Pantau perangkat
SMC-R menggunakan perangkat eRDMA Alibaba Cloud sebagai perangkat RDMA bawah. eRDMA menyediakan berbagai alat mode pengguna untuk mengumpulkan statistik tentang sumber daya dan perangkat RDMA. Untuk informasi lebih lanjut, lihat Pemantauan dan Diagnosis eRDMA.
Alat pemantauan terintegrasi
smc_monitor_ex adalah skrip alat pemantauan yang disediakan oleh smc-tools. Skrip ini memanggil instruksi atomik dari smc-tools, seperti smcr dan smcss, untuk mengumpulkan statistik tentang lalu lintas SMC, koneksi, dan penggunaan memori.
Penggunaan Alat
Jalankan perintah berikut untuk mengkueri penggunaan
smc_monitor_ex.Peringatansmc_monitor_ex adalah alat eksperimental, dan penggunaannya dapat berubah di masa mendatang.
# smc_monitor_ex -h usage: smc_monitor_ex [-h] {speed,s,connection,c,memory,m,base,b} ... Alat Pemantauan SMC (Eksperimental) argumen posisi: {speed,s,connection,c,memory,m,base,b} perintah speed (s) Lihat laju transfer connection (c) Lihat jumlah koneksi memory (m) Lihat penggunaan memori base (b) Lihat laju transfer, jumlah koneksi, dan penggunaan memori argumen opsional: -h, --help tampilkan pesan bantuan ini dan keluarKueri Statistik tentang Lalu Lintas SMC
Jalankan subperintah
speeddalamsmc_monitor_exuntuk mengkueri laju lalu lintas SMC dan rekaman per detik (RPS) dinet namespacesaat ini.# smc_monitor_ex speed -h usage: smc_monitor_ex speed [-h] [-i INTERVAL] [-r] [-m {smcr,smcd,smc}] argumen opsional: -h, --help tampilkan pesan bantuan ini dan keluar -i INTERVAL, --interval INTERVAL Interval dalam detik untuk menampilkan laju transfer. -r, --raw Tampilkan laju dalam B/s tanpa mengonversi unit. -m {smcr,smcd,smc}, --mode {smcr,smcd,smc} Mode untuk diperiksa, baik 'smc', 'smcr' atau 'smcd', default adalah 'smc'Sebagai contoh, jalankan perintah berikut untuk mengkueri laju lalu lintas SMC-R dan RPS di
net namespacesaat ini setiap detik:# smc_monitor_ex speed -m smcr -i 1 Date Mode Rx Rate Rx Rps Tx Rate Tx Rps 2025-02-21 14:01:48 smcr 0.0 B/s 0.0 /s 0.0 B/s 0.0 /s Date Mode Rx Rate Rx Rps Tx Rate Tx Rps 2025-02-21 14:01:49 smcr 0.0 B/s 0.0 /s 0.0 B/s 0.0 /s Date Mode Rx Rate Rx Rps Tx Rate Tx Rps 2025-02-21 14:01:50 smcr 0.0 B/s 0.0 /s 0.0 B/s 0.0 /sKueri Statistik tentang Koneksi SMC
Jalankan subperintah
connectiondalamsmc_monitor_exuntuk mengkueri jumlah koneksi yang menggunakan SMC atau kembali ke TCP dinet namespacesaat ini.# smc_monitor_ex connection -h usage: smc_monitor_ex connection [-h] [-i INTERVAL] [-m {smc,smcr,smcd,fallback,all}] argumen opsional: -h, --help tampilkan pesan bantuan ini dan keluar -i INTERVAL, --interval INTERVAL Interval dalam detik untuk menampilkan koneksi. -m {smc,smcr,smcd,fallback,all}, --mode {smc,smcr,smcd,fallback,all} Mode untuk diperiksa, baik 'all', 'smc', 'smcr', 'smcd' atau 'fallback', default adalah 'all'Sebagai contoh, jalankan perintah berikut untuk mengkueri jumlah koneksi yang menggunakan SMC-R di
net namespacesaat ini setiap detik:# smc_monitor_ex connection -m smcr -i 1 Date Mode #Conn 2025-02-21 14:06:47 smcr 0 Date Mode #Conn 2025-02-21 14:06:48 smcr 0 Date Mode #Conn 2025-02-21 14:06:49 smcr 0Kueri Statistik tentang Penggunaan Memori
Jalankan subperintah
memorydalamsmc_monitor_exuntuk mengkueri total ukuran ring buffer yang digunakan oleh koneksi SMC dinet namespacesaat ini.# smc_monitor_ex memory -h usage: smc_monitor_ex memory [-h] [-i INTERVAL] [-r] [-m {smcr,smcd,smc}] argumen opsional: -h, --help tampilkan pesan bantuan ini dan keluar -i INTERVAL, --interval INTERVAL Interval dalam detik untuk menampilkan penggunaan ringbuf. -r, --raw Tampilkan penggunaan memori dalam byte tanpa mengonversi unit. -m {smcr,smcd,smc}, --mode {smcr,smcd,smc} Mode untuk diperiksa, baik 'smcr', 'smcd' atau 'smc', default adalah 'smc'Sebagai contoh, jalankan perintah berikut untuk mengkueri total ukuran ring buffer yang digunakan oleh koneksi SMC-R di
net namespacesaat ini setiap detik:# smc_monitor_ex memory -m smcr -i 1 Date Mode Rx Bufs Tx Bufs 2025-01-06 15:14:20 smcr 512.00 KB 512.00 KB Date Mode Rx Bufs Tx Bufs 2025-01-06 15:14:21 smcr 512.00 KB 512.00 KBKueri Semua Statistik SMC
Jalankan subperintah
basedalamsmc_monitor_exuntuk mengkueri semua statistik terkait SMC sebelumnya dinet namespacesaat ini.Sebagai contoh, jalankan perintah berikut untuk mengkueri semua statistik terkait SMC-R di
net namespacesaat ini setiap detik:# smc_monitor_ex base -m smcr -i 1 Date Mode Rx Rate Rx Rps Tx Rate Tx Rps #Conn Rx Bufs Tx Bufs 2025-01-06 15:17:23 smcr 1.81 GB/s 21.66 K/s 0 B/s 0 /s 2 512.00 KB 512.00 KB Date Mode Rx Rate Rx Rps Tx Rate Tx Rps #Conn Rx Bufs Tx Bufs 2025-01-06 15:17:24 smcr 1.82 GB/s 21.81 K/s 0 B/s 0 /s 2 512.00 KB 512.00 KB