Saya menggunakan server Ubuntu 12,04, mengalami kesulitan menemukan penyebab beban, saya telah melihat perubahan waktu respons server dari minggu lalu
setelah membaca Pemecahan Masalah Linux, Bagian I: Beban Tinggi
Sepertinya tidak ada masalah dengan CPU dan RAM, dan beban ini mungkin terkait dengan beban I / O-terikat
dengan menggunakan top
perintah saya mendapat output berikut
Ini dia 97.6%wa
, RAM gratis dan tidak ada swap yang digunakan.
Berikut ini adalah output dari perintah iostat
yang menabur yang ada89% iowait
ubuntu@ip-my-sys-ubuntu:~$ iostat
Linux 3.2.0-58-virtual (ip-172-31-6-203) 02/19/2015 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
3.05 0.01 3.64 89.50 3.76 0.03
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
xvdap1 69.91 3.81 964.37 978925 247942876
Saya juga menggunakan iotop
yang setelah interval perbaikan menunjukkan 99% I / O, Disk menulis sebagai pengamat1266 KB/s
dan
Apakah ini buruk? karena waktu respons diturunkan. apa yang menyebabkan ini?
EDIT yang diminta oleh orang lain
iftop O / P
12.5kb 25.0kb 37.5kb 50.0kb 62.5kb
└─────────────────┴──────────────────┴─────────────────┴──────────────────┴──────────────────
ip-12-1-1-111.ap-southeast-1. => 115.231.218.130 0b 2.04kb 522b
<= 0b 1.53kb 393b
ip-112-1-1-111.ap-southeast-1. => 62.snat-111-91-22.hns.net.in 1.52kb 1.52kb 1.72kb
<= 208b 208b 262b
ip-112-1-1-111.ap-southeast-1. => static-mum-120.63.141.177.mtnl. 0b 480b 240b
<= 0b 350b 175b
ip-112-1-1-111.ap-southeast-1. => ip-112-11-1-1.ap-southeast-1.co 0b 118b 178b
<= 0b 210b 292b
ip-112-1-1-111.ap-southeast-1. => static-mum-120.63.194.119.mtnl. 0b 0b 240b
<= 0b 0b 175b
TX: cum: 123kB peak: 3.72kb rates: 1.67kb 2.02kb 1.78kb
RX: 51.5kB 4.88kb 1.19kb 989b 918b
TOTAL: 174kB 8.60kb 2.86kb 2.98kb 2.68kb
output dari iostat -x -k 5 2
ubuntu@ip-111-11-1-111:~$ iostat -x -k 5 2
Linux 3.2.0-58-virtual (ip-111-11-1-111) 03/04/2015 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
3.75 0.01 4.74 22.72 4.06 64.71
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
xvdap1 0.00 263.80 0.42 109.42 7.28 1572.36 28.76 1.92 17.52 17.57 17.52 2.31 25.39
avg-cpu: %user %nice %system %iowait %steal %idle
8.97 0.00 4.77 76.34 9.92 0.00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
xvdap1 0.00 35.69 0.00 85.88 0.00 438.93 10.22 137.55 1612.71 0.00 1612.71 11.11 95.42
@shodanshok poin 2
iotop -a
sumber
Jawaban:
Setel layanan mysql Anda untuk menghindari sentuhan ke disk dan hati-hati dalam antrian postfix Anda, Anda mungkin memiliki banyak email ke antrian sensitif I / O (yaitu ditangguhkan, itens kecil dengan perilaku baca acak).
Sistem email Anda telah digunakan sebagai relay untuk spammer.
Lihatlah dokumentasi postfix dan batasi akses relay ke MTA Anda.
sumber
qshape deferred
perintah.postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_limit_maps=proxy:mysql:/etc/zpanel/configs/postfix/mysql-virtual_mailbox_limit_maps.cf
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
mendapat kesalahan iniqshape deferred
/var/lib/postfix/deferred
. Pindahkan mereka kehold
antrian untuk penyelidikan atau pembersihan lebih lanjut.Diedit setelah informasi tambahan dikumpulkan menggunakan iostat dan iotop
Disk Anda 100% dimuat karena kehabisan IOPS yang tersedia: sesuai iostat, Anda memiliki 50+ IOPS konstan (85 w / s - 35 digabung w / s). Mesin EC2, terutama yang murah, memiliki tutup yang kuat pada IOPS berkelanjutan (dalam kisaran 30-50 IOPS).
Sesuai keluaran iotop baru, baik mysql dan bounce memakan sejumlah besar IOPS. Namun, output iotop tampaknya tidak lengkap, atau paling tidak diurutkan. Bisakah Anda menjalankan kembali "iotop -a" menyortir satu kali dengan IOPS dan lain kali dengan disk menulis?
Jawaban asli
Taruhan saya: proses "bouncing" mengeluarkan banyak tulisan yang disinkronkan yang mencekik perangkat disk virtual yang ditawarkan oleh Amazon (omong-omong, profil apa yang Anda gunakan? Disk EC2 memiliki aturan yang cukup ketat untuk berkelanjutan vs burst I / O).
Bagaimanapun, mengidentifikasi apa yang membakar I / O bandwidth bisa agak sulit di kali. Walaupun iotop adalah alat yang sangat bagus, kadang tidak memberikan informasi yang diperlukan. Kita harus masuk lebih dalam. Jadi, ikuti saran ini:
Jalankan perintah berikut:
iostat -x -k 5 2
. Silakan laporkan kedua set hasil.Ketika dapat menggunakan "atas" untuk itu: luncurkan, tekan shift + f (F), lalu w, lalu masukkan, lalu geser + r (R). Proses pertama akan menjadi yang dalam keadaan D atau D + (yaitu: menunggu disk / jaringan). Silakan laporkan kembali daftarnya.
Jalankan
iotop -a
sekitar satu menit dan tempel di sini output.sumber
Sedikit terlambat, tetapi saya memiliki masalah yang sama pada mesin yang sama dan menemukan bahwa masalahnya adalah sekelompok tabel MySQL yang rusak. Karena beberapa tabel ini memiliki banyak data, itu menghasilkan banyak waktu tunggu I / O.
Lihat
/var/log/mysql/error.log
atau gunakanmysqlcheck
untuk menemukan dan memperbaiki data yang rusak.sumber
Seperti yang dinyatakan di atas, sangat mungkin bahwa instance EC2 Anda dilengkapi dengan tutup IO atau mungkin didukung pada volume Amazon EBS Standard yang tidak memberikan banyak IO bijaksana. Lihat halaman ini - ini menggambarkan berbagai jenis volume yang ditawarkan Amazon.
Bahkan jika Anda memang memiliki jenis volume yang lambat, Anda masih harus dapat menulis cukup cepat untuk itu, tetapi jika beban Anda secara acak bersifat alami, seperti yang terlihat (SQL stuff), Anda mungkin ingin meningkatkan IOPS kapasitas, karena itu biasanya menempatkan batas atas pada kinerja SQL.
Jadi - dari nomor Anda, tampaknya Anda mungkin kehabisan IOPS menggunakan penyimpanan standar. Membeli penyimpanan lebih cepat tidaklah mahal. Lihatlah ini .
sumber
Disk mungkin dalam mode non-DMA. Silakan periksa status DMA drive. (perintah hdparm)
Jika bukan itu, sesuatu yang lain dapat menghasilkan banyak interupsi. Adakah yang ingat orang-orang dari zaman DOS lama yang baik?
sumber