Trafik yoğun bir site işletiyorum, çoğunlukla kullanıcı tarafından oluşturulan çok sayıda dinamik içerik.
Sunucu özel bir sunucudur ve toplam 4 adet Intel (R) Xeon (R) CPU X3210 @ 2.13GHz işlemciye sahiptir. Sunucunun 4GB RAM'e sahip olduğunu ve MySQL veritabanının ayrı bir sunucuda çalıştığını göz önünde bulundurarak, ServerLimit ve MaxClients apache'nin direktifleri için en uygun değerleri bilmem gerekiyor. Panel, CentOS'lu DirectAdmin'dir.
Aşağıda mevcut yönergelerim var, ancak 5 binin üzerinde kullanıcısı olan yoğun saatlerde, önemli bir gecikme göze çarpıyor - ve bu tamamen MySQL'in hatası değil, çünkü sayfaların hızlı bir şekilde oluşturulduğu görülüyor (sayfa oluşturma zaman sayacı uyguladım), ancak çok uzun bir süre var. Sayfa yanıtlamaya başlayana ve tarayıcıya gönderilene kadar bağlantı gecikmesi.
<IfModule prefork.c>
StartServers 800
MinSpareServers 20
MaxSpareServers 60
ServerLimit 900
MaxClients 900
MaxRequestsPerChild 2000
</IfModule>
Timeout 90
KeepAlive On
KeepAliveTimeout 5
Sunucuyu en iyi komutu kullanarak izlemekten bahsetmeliyim ki, CPU kullanımı en yoğun saatlerde hiçbir zaman% 20 ~% 30'un üstüne çıkmaz. MySQL sunucusunun o zaman% 30-50 kullanımı var ve yavaş sorguları düzeltmek için sürekli çalışıyorum, ancak bu farklı bir konu. Bunun bir DB darboğazı olmadığını biliyorum çünkü statik sayfaların yoğun saatlerde yüklenmesi de uzun sürüyor.
Bu değerleri optimize etmek için herhangi bir ipucu çok takdir edilecektir, teşekkürler.