() Ağır komut ile CPU yükü aşağı tutmak için iyi bir fikir çalışması php uyku kullanıyor?

5 Cevap php

Ben sabit html sayfaları içine bütün bir web sitesi yayınlamak için tüm tablolar aracılığıyla ayrıştırır bir "web sitesi oluşturmak" komutu var. Yani en azından benim yerel makinede (CPU yükselir) üzerinde, ağır bir süreç. Üretim sunucusunda bugüne kadar bir sorun görünmüyor ama ileride kanıt tutmak istiyorum. Bu nedenle sunucu ağır adımlar arasında "onun nefesini yakalamak" için zaman vardır, böylece ağır komut her adım arasında php sleep () fonksiyonu kullanarak düşünüyor yaşıyorum.

Bu iyi bir fikir mi, yoksa faydasız olacak?

5 Cevap

Eğer php5 çalıştırıyorsanız ve bu modu (yerine mod_php daha) CGI kullanılan gören varsa, o zaman yerine proc_nice kullanarak düşünebiliriz.

Bu hiç kimse siteyi kullanmaya çalışıyor iken istediği gibi "web sitesi oluşturmak" komutu kadar CPU kullanmak için izin verebilir.

Ben sadece üretim sunucusuna, daha önce takip adımlar bu yapmazdı:

  1. Düşük maliyetli bir PHP sunucu kiralamak - veya üretimini çoğaltır uygun Dev sunucu kurulumu olsun

  2. Tüm Dinamik dosyalar DEV kopyalanan - onlar bile üretime olmaya gerek yoktur

  3. Sadece yakmak uyku yok - HTMLizer komut dosyasını çalıştırın

  4. Çıktıya doğrulamak ve daha sonra canlı sunucuya bu rsync - güvenle geri düşebilir yüzden bunu gibi canlı dizini yedeklemek

Zend Framework ve Zend Cache kullanmak ve temelde otomatik olarak yapmanız gereken dinamik bir eşdeğer var - Caching / memcaching Ben tüm bu yapmak zorunda sığınak hızlandırmak için geldi zaten beri.

Ben bunun iyi bir fikir olduğunu düşünüyorum. Bir süre oluşuncaya kadar Sleep keneler repititive bir karşılaştırmasını gösterir. Bir uyku operasyon CPU üzerindeki yükü düşük olmalı.

O bunu çağırıyor olacak kaç kez ve ne kadar süre için bağlıdır. Düşük CPU kullanımı vs hızlı bir çıkış ihtiyacını dengelemek gerekir.

Kısacası: evet, o yardımcı olacak.

Göreve dayanarak, ben size yardımcı olacaktır sanmıyorum.

Sürekli döngü ve kullanıcı girişi veya tetikleyici sinyal bekliyor olsaydı uyku sadece gerçekten yararlı olacaktır.

Bu durumda, iş böylece görev süresini azaltmak ve diğer işlemler için daha hızlı CPU zamanı kurtararak, siz de uyku komutu atlayabilirsiniz olabilir en kısa sürede halletmek için.

Yukarıdaki posterleri bazı iyi kod optimizasyonu ile size yardımcı olabilir.