Как я могу определить скорость CodeIgniter?

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
19
0
6 398
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

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

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

Ответ принят как подходящий

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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