php: zamanlama bir betik

5 Cevap

Bir komut dosyası sonunda, daha sonra bir mikro zaman çalışan ve bir script başında onu yakalamak varken neden zaman komut dosyasını çalıştırmak her zaman değişiyor mu?

Does it have to do with other items running? How it was processed?

5 Cevap

Dış faktörler zaman farklılıklara neden olur. Sunucu yük, bellek yönetimi / çağrı farklı olabilir neden bazı örnekleridir.

Muhtemelen - hem sunucu ile devam eden diğer şeyler nedeniyle olabilir veya bağlı önbelleğe alma ya da genellikle ilk çalıştırma yavaş ve daha sonraki daha hızlı çalışır kılacak başka tür şeyler olabilir.

Tek bir php istek alır süreyi etkileyecek şekilde çok fazla faktör vardır. Sürece farklılıklar açıkça korkak bir şey (bir req 100ms alır, bir sonraki 1800ms sürer) oldukça normal oluyor ki bir işaret değil gibi.

Diğer belirtildiği gibi, dış sebeplerle az fark olması normaldir.

Ama büyük farklılıklar varsa veya olası bir darboğaz (ağ gecikme, disk I / O, vb aşırı veritabanı) bulmak istiyorsanız derin bir araştırma yapmak gerekebilir eğer.

Bunu yapmak için, xdebug veya ilgili diğer bir araç ile size komut profile gerekir.

Diğer Dediğim gibi, çok şeyler komut zamanını değiştirebilirsiniz. Büyük bir disk I / O ve veritabanı erişimi ve göreli sunucu yük olduğunu. Birçok okur çekmek ve onları ortalama şeyleri kıyaslama zaman buluyorum. Yavaş aşağı / hızı için kontrol ederken ve ortalamalar karşılaştırın.