Bir web sunucusu profil için Öneriler

4 Cevap php

I C küçük bir web sunucusu şık geliştirilen ve performansını değerlendirmek istiyorum. Bunun için aşağıdaki yapıyorum:

Soket kurulması zaman ölçme, dosya transfer süresi (rastgele boyutlarda dosyalar için) ve aşağıdaki senaryolarda soket teardown saati:

  • Tek Dişli
  • Multi-Dişli

Ve bu ben ... istemci parçası için, ben PHP kullanıyorum ve basit zamanlama fonksiyonları kullanarak yapıyorum bilgisayarların bir grup üzerinde bu kurma ve her şeyi ölçmek planlıyordum ... bana verim / bant genişliği vermelidir aşağıdaki şekilde:

<?php
$time_start = microtime_float();
// COMMAND TO PROFILE
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "Task took $time seconds\n";
?>

O bana bazı değerli bilgiler vereceğini ölçmek gereken başka ölçümler var mı?

4 Cevap

Hmm, ben kıyaslama isteği performansı iyi yaklaşım olduğundan emin değilim. Apache dağıtımında tarafından sağlanan ab bir göz atın, bu ilkel bir araçtır, ama aynı sunucuda çalıştırın ve isteği zaman için daha doğru bir kriter almak gerekir. Aynı zamanda diğer ölçümler bir demet vereceğim.

http://httpd.apache.org/docs/2.0/programs/ab.html

PHP performans profilleme iseniz, (diğerleri arasında) Xdebug kullanabilirsiniz. Ama webserver performansı, onun farklı bir hikaye hakkında endişe varsa. Apache gibi web sunucuları, örneğin ab aracı, hem de bunun için geliştirilen araçları profilleme var

Profilleme ile xDebug kullanmayı deneyin, daha sonra indirmek ve yüklemek webgrind.

Siz:

  1. Kod karmaşasını ve kaçının
  2. O çağrıldı ne kadar pahalı bir rutin olduğunu ve nerede bir rutin denir kaç kez çok daha fazla bilgi, bellek, kazanç.

Ben böyle kolaylıkla bir PHP profil sınıfını kullanarak bu bilgileri toplamak şüpheliyim

There are plently of tutorials to get you started.

alt text

Bellek kullanımı iyi olabilir. Belirli fonksiyonlar eğer bir şey optimize etmek ne bakmak yanı çağrıldığını ne sıklıkla bakmak isteyebilirsiniz.

Ayrıca, Facebook bir göz değer olabilir XHProf denilen bir aracı söndürmek: http://mirror.facebook.net/facebook/xhprof/doc.html. Onun kullanımıyla ilgili bazı ek talimatlar burada: http://techportal.inviqa.com/2009/12/01/profiling-with-xhprof/.