PHP proc_nice yeni öncelik ayarı Apache konuları bırakmak mı?

1 Cevap php

Proc_nice çalıştırırken (), aslında Apache konu nice'ing edilir?

Eğer öyleyse, ve geçerli kullanıcı (non-süper kullanıcı) orijinal öncelik renice olamaz eğer bir Apache 2.0x sunucusunda Apache iplik uygun düzgün (apache_child_terminate) öldürüyor?

Sorunu ben kullanıcı Ad-Hack sorguları çalıştırmak için izin veren bir uygulama etkisini sınırlamak için çalışıyorum olmasıdır. Sorguları büyük olabilir ve veri dönüşümü çıkan Bellek ve CPU bir sürü gerektirir.

Zaten süreç bazlı daha dere olması için yeniden yazdım - bellek tüketimi ile yardımcı, ama aynı zamanda süreci daha düşük bir öncelik çalıştırmak olacak gibi. Bu aynı kutu üzerinde çalışan yüksek öncelikli web hizmetleri bir şey var gibi ancak ben düşük öncelikli Apache iplik terk edemez.

TIA

1 Cevap

Durum bu tür bir çözüm genellikle Apache süreçleri içinde ağır iş bu tür yapmak, ama değil ya eğer:


As often as possible, especially if the heavy calculations take some time, I would go for the second solution :

  • "Sunucu isteğinizi aldı ve yakında bunu işleyecek:" Bu kullanıcıların anında bazı geribildirim almak için izin verir
  • Uzun için "çalışan" Apaçiler süreçlerini tutmaz: ağır şeyler diğer işlemler yapılır
  • Bir gün, bir sunucu artık yeterli olmadığını işlem gücü böyle bir miktar gerekir, varsa, sistemin bu tür ölçek daha kolay olacaktır: sadece aynı FIFO kuyruğundan alacağım ikinci bir sunucu eklemek
  • Sunucu gerçekten çok yüklü ise, en azından bir süre için, kuyruktaki işleme durdurabilirsiniz, böylece yük daha iyi alabilirsiniz - kritik web-services belirli bir çok kullanılması durumunda, örneğin, bu yararlı olabilir zaman çerçevesi.


Another (nice-looking, but I haven't tried it yet) solution would be to use some kind of tool like, for instance,
Gearman :

Gearman provides a generic application framework to farm out work to other machines or processes that are better suited to do the work.
It allows you to do work in parallel, to load balance processing, and to call functions between languages.
It can be used in a variety of applications, from high-availability web sites to the transport of database replication events.
In other words, it is the nervous system for how distributed processing communicates.