Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 12915|Yanıt: 0

[Webmaster İletişimi] Alibaba Cloud SLB yük dengelemesi kullanılarak php-fpm CPU kullanımının %90'dan fazla olmasını çözmek

[Bağlantıyı kopyala]
Yayınlandı 8.05.2015 20:22:09 | | | |
Mayıs tatili sırasında servis ekibi Yitaobang web sitesinin sunucu ortamını PHP5.3'ten PHP5.6'ya yükseltmiş ve başarılı yükseltmeden sonra sunucu CPU'su %90'ın üzerine çıkmış ve bu oran yüksek kalır. Sunucuyu kontrol edin, birden fazla PHP-FPM işleminin CPU yükünün çok yüksek olmasına neden olduğunu ve bu nedenle web sitesine normal erişim sağlanamıyor. Sunucu ortamını ve PHP sürümünü defalarca yeniden yüklemek ve hatta PHP'yi HHVM'ye değiştirmek bile yüksek CPU yükü sorununu çözemez.


E-Taobang sunucu işlem süreci (hizmet mimarisi diyagramı): Kullanıcı istemcisi → Alan adı çözümlemesi → Baidu Cloud Acceleration Node (CDN/önbellekleme/anti-DDOS/CC saldırıları) → Alibaba Cloud Shield düğümü (anti-CC/DDOS/WAF saldırıları) → ECS kaynak sunucusu (CSS, JS ve CDN yönlendirme için görseller) ve Alibaba Cloud Cloud Shield herhangi bir saldırı bilgisi içermediği için saldırı olarak tamamen ekartı olabilir.

nginx loglarına, php-fpm loglarına ve yavaş kayıtlara baktığımda anormal bir faktör yok ve netstat -n komutundan birden fazla TIME_WAIT bilgisi görüyorum; bu komut 100.97.x.x IP segmentinden kaynaklanıyor (son IP segmenti Alibaba Cloud SLB dinleme servisinin IP adresi).


Daha fazla uzatmadan, Yitao Gang'in (V İstasyon Gücü) profesyonel işletme ve bakım ekibi tarafından nihayet ele alınan özel çözümden bahsedelim; sonuç olarak SLB'nin servis izleme ayarlarının oluşturduğu CPU yükü çok yüksek oldu.
Orijinal SLB servisi, HTTP protokol portu 80'i dinler ve http protokolü sağlık kontrolü düzenli olarak birden fazla baştan http istekleri gönderir; bu da HTTP okumaya sürekli erişim sağlar; bu da php-fpm ile CPU yükünün uzun süre %90'dan fazla olmasına yol açar ve özel CPU yük kullanım kotası ECS'nin yapılandırmasına bağlıdır. Sağlık kontrolü servisi değiştirildikten sonra CPU kullanımı çevrimdışı oluyor.

Eğer bu durum da yaşanırsa, SLB servis dinlemesinin sağlık kontrolü yapılandırmasını HTTP protokol 80'den TCP protokol 80 yapılandırmasına aşağıdaki şekilde değiştirin:






Önceki:Microsoft, IE'yi terk etti ve 220.000 satır kod yapmaya kararlıydı
Önümüzdeki:Sunucuyu ele geçirmek için dünya dışı güç
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com