Kıyaslama Codeigniter, nerede bu ms geliyor?

3 Cevap php

Web siteme kıyaslama sürecinde yaşıyorum.

class Home extends Controller {

    function Home() 
    {
        parent::Controller();
        $this->benchmark->mark('Constructor_start');

        $this->output->enable_profiler(TRUE);
        $this->load->library ('MasterPage');

        $this->benchmark->mark('Constructor_end');
    }

    function index() 
    {
        $this->benchmark->mark('Index_start');

        $this->masterpage->setMasterPage('master/home');
        $this->masterpage->addContent('home/index', 'page');
        $this->masterpage->show();

        $this->benchmark->mark('Index_end');
    }
}

Bu sonuçlar şunlardır:

Loading Time Base Classes: 0.0076
Constructor: 0.0007
Index: 0.0440
Controller Execution Time ( Home/ Index ): 0.4467
Total Execution Time: 0.4545`

Benim anladığım şu:

  • Yükleme süresi Temel Sınıflar (0.0076)
  • Oluşturucu (0.0007)
  • Endeksi (0.0440)

But where is the rest of the time coming from?

3 Cevap

Ben CI-powered sitelerin kıyaslama çok yapmadım, ama 0,4545 çok hızlı görünmüyor.

(Ancak özel tanımlı kriterler dışında) Kontrolör Yürütme Zaman çatısı altında oluşur Bir şey config / autoload.php dosyasında tanımlanan her şeyin autoloading olduğunu. Orada çok sayıda kütüphane veya modellerini yükleme yapıyorsanız, herhangi hemen belirgin bir neden olmadan Kontrol Yürütme Zamanda eklersiniz.

Ben senin indeks fonksiyonunun son satırı olması gerektiğini düşünüyorum

$this->benchmark->mark('Index_end');

Bu yazım hatası komik görünümlü sonuçlar neden olabilir.

Codeigniter otomatik (bu Toplam Yürütme Zamanı) nihai çıkış isteği tarayıcıya gönderilen gelen toplam zamanı kriterler

(Genelde url) aracılığıyla belirttiğiniz kontrolörü / yöntemini çağırmak üzereyken Ayrıca, bu ve bu yöntem bir şey döndürür veya çıkış veri gönderir o kriter (bu Kontrol Yürütme Zaman ki biter başlangıç ​​işaretleri (Ev / Endeks) siz) görüyorsanız