Как я могу определить скорость CodeIgniter? - PullRequest
19 голосов
/ 16 августа 2008

Я думаю об использовании PHP-фреймворка под названием CodeIgniter .

Одна из вещей, которые меня интересуют - это скорость. У меня, однако, нет способа узнать, насколько это быстро, и я бы предпочел не просто поверить слову их веб-сайта. Кто-нибудь знает, как я могу сам определить его скорость, или кто-то может рассказать мне о сайте, который может?

Ответы [ 13 ]

17 голосов
/ 17 августа 2008

Code Igniter также имеет несколько встроенных инструментов бенчмаркинга: http://codeigniter.com/user_guide/general/profiling.html

9 голосов
/ 17 августа 2008

Да, проблема в том, что вам нужно создать приложение для его профилирования.

На работе у нас было написано несколько проектов, которые мы тестировали перед тем, как поместить их в наши основные блоки. Мы были довольно удивлены, обнаружив критические проблемы с производительностью обоих; один был написан на CakePHP, а другой был написан с использованием Drupal. Я не думаю, что это выдвигает на первый план проблему с любой структурой или CMS, кроме необходимости выполнять профилирование и нагрузочное тестирование на любом сайте, который собирается получить значительный трафик. В обоих случаях проблема была в том, что сделал разработчик, а не в характеристиках программной платформы. Например, был рекурсивный вызов функции, созданный разработчиком в проекте Cake, который создавал экземпляр всего объекта Cake при каждой рекурсии, и это могло бы уничтожить сервер, если бы он работал под нагрузкой.

По моему мнению, производительность не должна быть решающим фактором при выборе структуры; объективные различия, скорее всего, будут незначительными, и то, как вы их используете, может вызвать гораздо больше проблем с производительностью, чем присущие производительности платформы.

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

3 голосов
/ 25 сентября 2008

Пол М. Джонс недавно обновил свои каркасные тесты . Он сравнивает производительность приложения Hello World в нескольких популярных PHP-фреймворках.

Это интересно, но имейте в виду, что это мало что говорит о реальном приложении.

3 голосов
/ 17 августа 2008

Если ваш сайт управляется базой данных, я был бы очень удивлен, если бы ваше узкое место стало основой приложения. «Быстрая», как в более быстрой разработке, это то, о чем я бы беспокоился, а не «быстрая», как при быстрой обработке запросов Значительную оптимизацию лучше выполнять путем кэширования стратегий и оптимизации доступа к базе данных.

Помимо доступа к базе данных, ваш собственный код будет находиться там, где большая часть времени затрачивается на каждый запрос (и даже это обычно не существенно по сравнению с доступом к базе данных), структура, скорее всего, не будет влиять на время, затрачиваемое на запрос, если только это действительно плохо написано.

Лучше было бы искать среду, которая имеет хорошую поддержку кэширования (которую может иметь Code Igniter, я не знаю), которая почти всегда сэкономит вам больше времени, чем несколько миллисекунд, которые вы могли бы сэкономить на обработке запросов. используя немного более быстрый фреймворк.

Взгляните также на Zend Framework, он имеет преимущество в виде PHP 5, тогда как Code Igniter по-прежнему является PHP 4, насколько я понимаю. Это может быть проблемой, когда речь идет о скорости, но в пользу того, какие рамки я не знаю. Zend имеет хорошую поддержку кэширования и профилировщик базы данных, который поможет вам найти узкие места.

2 голосов
/ 16 августа 2008

Я бы порекомендовал проверить это для себя. используйте профилировщик xdebug для создания файла, совместимого с cachegrind, и webgrind для визуализации файла.

таким образом вы получите очень надежную информацию.

1 голос
/ 27 февраля 2014

Для CodeIgniter и других платформ PHP, PHP Quick Profiler очень удобен для сравнительного анализа и измерения скорости, особенно для запросов к базе данных. Вы должны проверить это: PHP-быстро-профайлер

Он очень прост в установке и предоставляет великолепный графический интерфейс для проверки различных тестов производительности.

1 голос
/ 24 марта 2011

Я поддерживаю сайт, который получают несколько раз в год. В прошлом году команда разработчиков переписала весь сайт с использованием Codeigniter, и нам повезло с точки зрения производительности. Кроме того, время, затрачиваемое на переписывание, было минимальным, так как с этим фреймворком довольно легко работать. CakePHP, на мой взгляд, также является хорошим выбором, если вы обнаружите, что вам не нравится Codeigniter.

1 голос
/ 22 марта 2011

Возможно, вы захотите прочитать ЭТУ НИТКУ на форумах CodeIgniter, в которой сравнивается скорость на полном сайте, сначала разработанном с помощью CakePHP, а затем переписанном с использованием CodeIgniter

1 голос
/ 22 марта 2011

Я считаю, что codeigniter довольно быстрый по сравнению с другими PHP-фреймворками.

Это даже быстро учиться ..; -)

Если у вас есть концепция MVC, потребуется всего несколько часов, чтобы начать ....

1 голос
/ 04 января 2011

Вы будете довольны Codeigniter. У меня есть пара сайтов с большими нагрузками, и они работают очень хорошо.

...