Наш союзник Bikinika
Такі утиліти як top або vmstat знайомі навіть малодосвідчених користувачам. Без праці з їх допомогою можна вирішувати багато проблем з продуктивністю додатків на платформі Linux / UNIX. І найчастіше це стосується вже традиційних веб-додатків на основі LAMP стека.
Однак для фахівців вищого рівня даних утиліт явно недостатньо. Проблеми з швидкодією додатків не завжди відрізняються очевидністю і простотою, а тому цілком доречно розглянути найбільш важливі засоби для аналізу продуктивності.
htop
htop є досить потужну альтернативу стандартній утиліті top. Відрізняється він в першу чергу більш зручним інтерфейсом і можливістю швидко налаштувати відображення інформації про системні ресурси.
З точки зору моніторингу процесів все також реалізовано на високому рівні. htopвиводіт в режим реального часу дані по використанню процесора і пам'яті, а також інші системні метрики (всього їх є більше 50) для кожного активного процесу і потоку. На відміну від top передбачена можливість вертикального і горизонтального скролінгу, а значить ніщо не вислизне від вашої уваги.
Приклад роботи утиліти htop
Також за допомогою htop можна, наприклад, змінити пріоритет процесу або зовсім його завершити.
dstat
dstat в свою чергу є покращеною альтернативою таким утилітам як vmstatілі sar, а заодно і таким відомим інструментам як iostat і ifstat.
Суть роботи dstat - збір усередненої інформації про використання системних ресурсів із заданим інтервалом виведення даних. Серед кандидатів для аналізу інформація про утилізацію процесора, пам'яті, мережі, диска, файлів підкачки і т.д.
Приклад роботи утиліти dstat
Процес моніторингу системних ресурсів організований досить просто і, головне, наочно. А серед особливих можливостей dstat - запис збираються метрик в CSV файли, що вкрай важливо для подальшого аналізу.
iotop
Безумовно, такі утиліти як iostat є ефективним рішенням для аналізу дискової активності. Однак iotop в цьому відношенні є ще більш корисним інструментом.
Приклад роботи утиліти iotop
iotop дозволяє виводити інформацію про дискову активності для кожного потоку в системі (або списком цікавлять процесів). Інформація може виводитися або в режимі реального часу, або в акумулятивний поданні.
iperf
iperf є одним з найпростіших рішень для вимірювання продуктивності мережі між двома окремо взятими вузлами.
При цьому на одному з вузлів iperf запускається в режимі сервера
а на іншому в режимі клієнта:
За замовчуванням завмер здійснюється протягом десяти секунд. За допомогою різних опцій можна задати відмінний від стандартного інтервал вимірювання або альтернативно обсяг переданих даних.
Приклад роботи утиліти iperf
Наявність різних TCP параметрів, а також можливість запуску в UDP-режимі делаетiperf виключно корисним інструментом для аналізу мережевих проблем.
mtr
mtr - це безкоштовна утиліта, одночасно поєднує в собі можливості программping і traceroute.
Приклад роботи утиліти mtr
У безперервному режимі mtr виводить інформацію про маршрут для заданого імені хоста, а також набір статистичних даних про пінг до кожного проміжного вузла. Даний інструмент вкрай корисний для діагностики проблем з маршрутизацією або мережевими затримками.
curl
curl - це, мабуть, найбільш відомий серед розглянутих інструментів. Він дозволяє завантажувати дані по одному з 21 підтримуваних протоколів.
Приклад роботи утиліти curl
curl можна використовувати, наприклад, для аналізу відповідей веб-серверів або HTTP заголовків. Незліченна кількість опцій в свою чергу дозволяють сформувати практично будь-який запит.
iptraf
Час від часу доводиться стикатися з ситуаціями, коли додаток встановлює мережеві з'єднання, про яких ми навіть не підозрюємо. Для діагностики подібних ситуацій корисним може стати монітор мережевих з'єднань - iptraf.
Працювати з iptraf можна в чотирьох режимах:
- моніторинг IP трафіку;
- загальна статистика для всіх мережевих інтерфейсів;
- деталізована статистика для окремого взятого інтерфейсу;
- статистичні зрізи (в залежності від порту або розміру пакетів);
- LAN моніторинг;
Приклад роботи утиліти iptraf
Зрозуміло, до всього цього додається сучасною функціональністю та мережеві фільтри і можливість запуску у фоновому режимі. В цілому, iptraf - це досить ефективний, але в той же час простий у використанні інструмент.
Для більш серйозного аналізу має сенс вдатися до таких рішень як tcpdump.
httperf
Найчастіше аналіз проблем з продуктивністю неможливий без запуску навантажувальних тестів. При цьому іноді навіть не потрібні складні тести і детальними сценарії, а досить лише згенерувати адекватний рівень навантаження за допомогою потоку HTTP запитів.
httperf відноситься до числа подібних консольних генераторів навантаження. Наприклад, наступний виклик:
httperf --server = hostname --rate = 10 --num-conns = 1000
змогу відправити 1000 запитів до цільового сервера з інтенсивністю 10 запитів в секунду. І якщо поставленому завданню не завадить, наприклад, обмеження пропускної здатності мережі, то можна буде отримати базову інформацію про те, як сервер впорався з навантаженням.
Приклад роботи утиліти httperf
multitail
Напевно багатьом доводилося стикатися з використанням утиліти tail в followформате, при якому в режимі реального часу виводиться не тільки кінець файлу, але і поновлення в ньому в міру зростання. Але що якщо необхідно вжити при одночасному перегляд декількох логів баз даних і веб-серверів?
multitail - ідеальне рішення для подібних завдань. Подібно роботі утиліти screenmultitail виводить вміст файлів розбиваючи термінал на кілька вікон (можлива як вертикальна, так і горизонтальна орієнтація).
Зручно? А тепер уявіть, що все це доповнено наступними можливостями:
- фільтрація і підсвічування інформації з використанням регулярних виразів;
- придушення дублюючих записів;
- візуальне і звукове сповіщення при появи заданого фрагмента тексту;
- можливість вертикального і горизонтального скролінгу.
І це далеко не повний список можливостей. У будь-якому випадку, не зайвим буде мати подібний інструмент на озброєнні.
Джерело: http://webperformance.ru/2011/10/17/linux-utils/
Опубліковано у * Unix, * Linux . Додайте в закладки постійне посилання .
Але що якщо необхідно вжити при одночасному перегляд декількох логів баз даних і веб-серверів?Зручно?