tcplife.bt(8) System Manager's Manual tcplife.bt(8)

tcplife.bt - ردیابی طول عمر نشستهای TCP همراه با آمار اتصال

tcplife.bt

این ابزار طول عمر نشست‌های TCP را که در طول ردیابی باز و بسته می‌شوند نشان می‌دهد و آمار مربوط به مدت زمان و توان عملیاتی (throughput) را نمایش می‌دهد. به منظور افزایش کارایی، این ابزار به‌جای ردیابی تک‌تک بسته‌ها، تنها تغییرات وضعیت TCP را ردیابی و ابزارگذاری (instrument) می‌کند.

این ابزار با استفاده از نقطه ردیابی (tracepoint) به نام sock:inet_sock_set_state کار می‌کند که در لینوکس ۴.۱۶ اضافه شده است.

از آنجا که این ابزار از BPF استفاده می‌کند، تنها کاربر ریشه (root) می‌تواند از آن استفاده کند.

CONFIG_BPF، ابزار bpftrace و نقطه ردیابی sock:inet_sock_set_state (لینوکس ۴.۱۶ به بعد).

نمایش نشست‌های TCP همراه با جزئیات:
# tcplife.bt

شناسه فرآیند (Process ID).
نام فرآیند.
نشانی IP محلی.
درگاه محلی.
نشانی IP راه دور.
درگاه راه دور.
مجموع کیلوبایت‌های ارسالی.
مجموع کیلوبایت‌های دریافتی.
طول عمر نشست، بر حسب میلی‌ثانیه.

این ابزار تابع تغییر وضعیت TCP در هسته را ردیابی می‌کند که بسیار کمتر از ردیابی ارسال/دریافت فراخوانی می‌شود و در نتیجه سربار کمتری دارد. سربار این ابزار متناسب با نرخ نشست‌های جدید TCP است: اگر این نرخ بالا باشد (بیش از ۱۰٬۰۰۰ نشست در ثانیه)، ممکن است صرفاً به دلیل چاپ ۱۰ هزار خط خروجی قالب‌بندی‌شده در هر ثانیه، سربار قابل توجهی ایجاد شود.

می‌توانید نرخ نشست‌های جدید TCP را با استفاده از دستور sar -n TCP 1 و جمع زدن ستون‌های active/s و passive/s به دست آورید.

همانند همیشه، پیش از استفاده در محیط عملیاتی، سربار این ابزار را متناسب با نوع بار کاری خود آزمایش کرده و ارزیابی نمایید.

این ابزار ابتدا در مخزن BCC پدید آمد:

https://github.com/iovisor/bcc

نسخه BCC گزینه‌های خط فرمان متعددی برای سفارشی‌سازی خروجی دارد.

این نسخه bpftrace برگرفته از کتاب "BPF Performance Tools"، منتشر شده توسط انتشارات Addison Wesley (سال ۲۰۱۹) است:

http://www.brendangregg.com/bpf-performance-tools-book.html

برای مستندات بیشتر درباره این ابزار به کتاب مراجعه کنید.

این نسخه bpftrace در مخزن bpftrace قرار دارد:

https://github.com/bpftrace/bpftrace

همچنین در توزیع bpftrace به فایل همراه _examples.txt که شامل نمونه‌های کاربرد، خروجی و توضیحات تکمیلی این ابزار است مراجعه کنید.

Linux

ناپایدار - در حال توسعه.

Brendan Gregg

tcptop(8)

2019-07-03 USER COMMANDS