% 90 G / Ç ve sıfır disk yazma kullanan işçi


22

Bu AWS Linux AMI + EBS'deki standart bir apache web sunucusudur. Yüksek yük ortalamasını (+8) fark ediyoruz ve şunu iotop -agösteriyor:

Total DISK READ: 0.00 B/s | Total DISK WRITE: 2.37 M/s

  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND             
 3730 be/4 root          0.00 B      0.00 B  0.00 % 91.98 % [kworker/u8:1]
  774 be/3 root          0.00 B   1636.00 K  0.00 % 15.77 % [jbd2/xvda1-8]
 3215 be/4 apache        0.00 B     40.39 M  0.00 %  0.88 % httpd
 3270 be/4 apache        0.00 B     38.20 M  0.00 %  0.93 % httpd
 2770 be/4 apache        0.00 B     46.86 M  0.00 %  0.71 % httpd

Apache düştüğünde, kworker ve jbd2 de düştü.

Çok fazla RAM bulunduğundan, sunucu değişmiyor. Veritabanı sunucularıyla ilgili bu sorunu gördüm, ancak hiçbir şey yalnızca Apache'ye izole edilmedi.

Bunu nasıl daha iyi teşhis edip önleyebileceği hakkında bir fikriniz var mı?

GÜNCELLEME 1: perf raporu (perf kayıt - g -a uyku 10)

Samples: 114K of event 'cpu-clock', Event count (approx.): 28728500000
-  83.58%          swapper  [kernel.kallsyms]         [k] xen_hypercall_sched_op                                          ◆
   + xen_hypercall_sched_op                                                                                               ▒
   + default_idle                                                                                                         ▒
   + arch_cpu_idle                                                                                                        ▒
   - cpu_startup_entry                                                                                                    ▒
        70.16% cpu_bringup_and_idle                                                                                       ▒
      - 29.84% rest_init                                                                                                  ▒
           start_kernel                                                                                                   ▒
           x86_64_start_reservations                                                                                      ▒
           xen_start_kernel                                                                                               ▒
+   1.73%            httpd  [kernel.kallsyms]         [k] __d_lookup_rcu                                                  ▒
+   1.08%            httpd  [kernel.kallsyms]         [k] xen_hypercall_xen_version                                       ▒
+   0.38%            httpd  [vdso]                    [.] 0x0000000000000d7c                                              ▒
+   0.36%            httpd  libphp5.so                [.] zend_hash_find                                                  ▒
+   0.33%            httpd  libphp5.so                [.] _zend_hash_add_or_update                                        ▒
+   0.25%            httpd  libc-2.17.so              [.] __memcpy_ssse3                                                  ▒
+   0.24%            httpd  libphp5.so                [.] _zval_ptr_dtor                                                  ▒
+   0.24%            httpd  [kernel.kallsyms]         [k] __audit_syscall_entry                                           ▒
+   0.22%            httpd  [kernel.kallsyms]         [k] pvclock_clocksource_read                                        ▒

3
Kworker'ın bir sorun giderme adımı olarak ne yaptığını öğrenmek için perf kullanmak isteyebilirsiniz .
David Schwartz

kworker'ın davranışı teknik olarak ilginç, ama neden Apache konularının diske megabayt yazdığını merak ediyorum. Bunun 2 MB / sn'yi açıkladığını varsayarsak, web sunucusu için yüksek değil mi? Sonra kişi yazılan dosyaları tanımlayabilir, örneğin strace -p(ve belki de) ve bunun ilginç bir şey gösterip göstermediğine bakabilir .
kaynakjedi,

1
Herhangi bir şansla değişiyor mu?
Grizly

1
sendfileSıfır kopyadan yararlanmak için apache'de etkinleştirmeyi deneyin .
fgbreel

1
@ user2383712 Bu sorun belki "komşunuz" bulutunuzla ilgili olabilir, bu konuyla ilgili aws ile bağlantı kurabilir misiniz?
Alin Andrei

Yanıtlar:


5

% 100 G / Ç, tüm G / Ç işlemlerinizi kullandığı anlamına gelmez. Bu, IO'yu beklemekten başka bir şey yapmadığı anlamına gelir. Bu nedenle, düşük / sıfır disk bant genişliğine sahip yüksek% IO normal olabilir.

man iotop:

[...] Ayrıca, iş parçacığı / işlemin, takas ederken ve G / Ç'de beklerken harcadığı zamanın yüzdesini de gösterir.

kworkerSonsuza dek IO'yu bekliyorsanız bu farklı bir sorun olabilir , ama bilmiyorum. Belki bir borunun ya da bir şeyin üzerinde bekliyor olmalıydı. kworkerBazen sunucumda da aynı şeyi görüyorum ve bu bir sorun gibi görünmüyor. (İlk gördüğümde panikledim.)


1
Bu aynı zamanda hepsinin aynı depolama dizisine eriştiği paylaşılan bir ortamdadır. Bu, yoğun bir diskin işaretidir (VM, hakkında etkili bir şekilde izole edilmiş olduğundan VM hakkında hiçbir şey bilmeyebilir). Özel donanımda, çok sayıda yeniden denemeyle başarısız bir disk olma olasılığı daha yüksektir. Ağa bağlı erişimde, NAS / hedef tarafındaki tıkanıklığın yanı sıra kötü bir bağlantı anlamına da gelebilir.
Biriktirici
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.