Profilleme PHP uygulaması, zaman meşgul inşa sınıfların 50% -

3 Cevap php

PHP ile yazılmış bir web uygulaması var. Bu veri depolama için MySQL kullanmaktadır. Bugün diğerleri o yavaş kodu darboğazları bulmak ve onun parçaları çalıştıran hangi bulmak için profil karar verdi. Her zamanki şeyler. Benim masaüstünde az 0,05 saniye içinde bir sürü iş ve şimdi benim sayfa yükler yaptım.

Ama şimdi benim profiler bu sürenin yarısı benim app meşgul inşa sınıfları olduğunu söyler. Front kontrolör gerektirir Config, Database ve User sınıfları, onlar __construct() yapmak için kendi şeyler var o yükler Page kontrolör, ki yükler Cache ve View, ve bundan sonra en main() yöntem patlar {[(5) }]. Ve tüm bu şeyler, toplam çalışma zamanının% 50 alır. Ve diğer 50%, db sorgulama sorgu sonuçlarını hokkabazlık ve View onları çıkış için kullanılır.

Soru: Bu iyi mi? "% 50 inşaat için" bir şey? Ben de benim app optimize anlamına mı geliyor? Ben web uygulaması için en zaman alıcı işlemleri, veritabanı sorguları olduğunu öğretti oldum. Ben, bunları optimize edilmiş bazı önbelleklerini uygulanır, ve şimdi onlar tamamen kontrol altında. Ve ben aslında sınıf inşaat optimize etmek konusunda hiçbir ipucu var. Ben bu __construct() yöntemlerini optimize veya olması onları terk etmek denemek mi?

3 Cevap

Ben çok fazla endişe olmaz; Eğer sayfa sizin sınıfların Kurucular harcanacak çalışan zamanın çoğunluğu render tamamlayamadan Eğer veri bir sürü yapmıyoruz, bu daha fazla veya daha az olsa da sürekli ceza kalmalıdır. Eğer denetleyicisi mantık çalışan bir sürü var ve profiler hala bu uygulamayı başlatmadan çok zaman harcadığını söyleyen ise o zaman optimize düşünebilirsiniz; erken optimizasyon zaman daha iyi yeni özellikler geliştirmeye ya uygulamasının yürütme zamanı bir hata olarak kabul edilebilecek kadar yavaş sürece yanlışlıkları düzeltmeye harcanan, çok kötü bir şey olduğunu unutmayın.

Bu yapı işlevsellik ya da ne aradığını yapıdır? Eğer bu% 50 oluşmaktadır görebilirsiniz bir araç kullanıyor musunuz? Bu işin çoğu diğer işlevlerini çağırarak olabilir beri.

Bir keresinde bir Drupal sitesine entegre bazı web hizmetlerini yapmak zorunda.

Yani sonunda sadece Drupal önyükleme zaman% 90 kullanıyordum ve benim kod% 10 dinlenmeyi olduğunu öğrenmek için bazı profil yaptım. Drupal kötü :) Tho tasarlanmıştır, böylece çok ve gerçekten kullanmak değildir sürü yüklüyor.

Ben sizin durumda karar vermek size kalmış düşünüyorum.