SORU
28 Kasım 2011, PAZARTESİ


Nasıl PHP komut verimliliği kıyaslama için

Kriter benim PHP betikleri için en iyi yolu nedir bilmek istiyorum. Bir cron varsa önemli değil, ya da hizmet web sitesi.

Microtime ama gerçekten bana bir PHP komut dosyası gerçek zaman veriyor? kullanabilirim biliyorum

Aynı şeyi bu test ve PHP farklı fonksiyonları değerlendirmek istiyorum. Örneğin, preg_match vs strpos domdocument vs preg_match preg_replace veya str_replace vs`

Bir web sayfası örneği:

<?php
// login.php

$start_time = microtime(TRUE);

session_start(); 
// do all my logic etc...

$end_time = microtime(TRUE);

echo $end_time - $start_time;

Bu irade çıktı: 0.0146126717 (her zaman değişir ama bende bu sonuncusu). Bu 0.015 kadar PHP komut dosyası çalıştırmak için aldı demektir.

Daha iyi bir yolu var mı?

CEVAP
4 Aralık 2011, Pazar


Eğer gerçekten kriter gerçek dünya kod istiyorsan, Xdebug XHProf gibi araçları kullanın.

Xdebug dev/basamak olarak çalışırken büyük ve XHProf üretimi için harika bir araçtır ve güvenli çalıştırmak için talimatları okumak sürece). Herhangi bir tek sayfa yükleme sonuçları kodunuzu sunucu bir milyon başka şeyler de yapmak içip zil zurna sarhoş iken nasıl performans görmek kadar alakalı olacak değil ve kaynakların kıt olur. Bu başka bir soruyu akla getiriyor: CPU darboğaz misin? RAM? G/Ç?

Ayrıca, komut dosyaları/sayfaları servis ediliyor nasıl komut çalıştırıyorsunuz sadece kodu ötesine bakmak gerekiyor. Ne web server kullanıyor musunuz? Örnek olarak PHP-ROM cidden gerçekleştirmek mod_php out nginx yapabilirim iyi bir VİDEO kullanarak statik içerik hizmet için bozguna alır Apache.

Dikkate sonraki şey için optimize etmek için ne çalışıyorsunuz?

  • Hangi kullanıcıların sayfayı görüntüleyen tarayıcı hızı bir numaralı önceliği?
  • Sunucuya her istek gibi hızlı olarak geri atılmış oluyor en küçük CPU tüketimi ile olası bir hedef?

Eski tüm kaynakları tarayıcıya gönderilen gzipping gibi şeyler yardımcı olabilir, ama bunu yaparken (bazı durumlarda) ikinci elde daha uzağa itebilir.

Umarım yukarıdakilerin hepsi olabilir yardımcı Haritayı dikkatli bir şekilde izole 'lab' test olmaz yansıtacak değişkenler ve sorunları olacak karşılaşma üretim ve gerekir belirlemek ne senin yüksek seviye hedeftir ve o zaman için ne yapabilirsin, oraya daha önce gittiği aşağı mikro/erken optimizasyon route to hell.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hotstrikegently

    hotstrikegen

    26 AĞUSTOS 2011
  • Microsoft Research

    Microsoft Re

    24 EKİM 2008
  • TechSmartt

    TechSmartt

    29 Aralık 2010