Подтвердить что ты не робот

Как определить скорость CodeIgniter?

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

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

4b9b3361

Ответ 2

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

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

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

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

Ответ 3

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

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

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

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

Ответ 4

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

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

Ответ 5

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

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

Ответ 6

Тео,

Да Code Igniter предлагает кеширование. Не знаю, насколько он эффективен, но доступен.

Ответ 7

CodeIgniter для большинства проектов достаточно быстро. Некоторые из них размещены здесь, и если вы Google, вы обнаружите, что он выгодно отличается от других фреймворков относительно скорости.

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

Ответ 8

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

Ответ 9

Я нахожу codeigniter довольно быстро по сравнению с другой инфраструктурой php.

Его даже быстро узнать.. -)

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

Ответ 10

Возможно, вы захотите прочитать THIS THREAD на форумах CodeIgniter, который сравнивает скорость на полном сайте, сначала разработанном с помощью CakePHP, а затем переписан с использованием CodeIgniter

Ответ 11

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

Ответ 12

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

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