Тестирование Codeigniter, откуда эти MS?

Я нахожусь в процессе сравнительного анализа моего сайта.

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');
    }
}

Вот результаты:

Время загрузки базовых классов: 0,0076
Конструктор: 0.0007
Индекс: 0,0440
Время выполнения контроллера (главная / индекс): 0,4467
Общее время исполнения: 0.4545`

Я понимаю следующее:

  • Базовые классы времени загрузки (0,0076)
  • Конструктор (0,0007)
  • Индекс (0,0440)

Но откуда все остальное время?

3 ответа

Решение

Я не проводил много сравнительных тестов сайтов на основе CI, но 0.4545 не кажется очень быстрым.

Одна вещь, которая происходит под эгидой времени выполнения контроллера (но за пределами пользовательских тестов), это автозагрузка всего, что определено в файле config / autoload.php. Если вы загружаете туда множество библиотек или моделей, это увеличит время выполнения вашего контроллера без какой-либо очевидной причины.

Codeigniter автоматически измеряет общее время от запроса до окончательного вывода, отправленного в браузер (это общее время выполнения)

Кроме того, когда он собирается вызвать указанный вами контроллер / метод (обычно через URL-адрес), он отмечает начало этого, а затем, когда этот метод возвращает что-то или отправляет данные на выход, он завершает этот тест (это время выполнения контроллера). ( Home/ Index) вы видите)

Я думаю, что последняя строка вашей индексной функции должна быть

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

Эта опечатка могла привести к забавным результатам.

Другие вопросы по тегам