Ответ 1
Code Igniter также имеет встроенные средства сравнения: http://codeigniter.com/user_guide/general/profiling.html
Я имею в виду использование фреймворка PHP под названием CodeIgniter.
Одна из вещей, которые меня интересуют, это ее скорость. У меня, однако, нет способа узнать, как быстро это происходит, и скорее не просто возьмется за слово для своего сайта. Кто-нибудь знает, как я могу определить его скорость самостоятельно, или кто-нибудь может рассказать мне о сайте, который может?
Code Igniter также имеет встроенные средства сравнения: http://codeigniter.com/user_guide/general/profiling.html
Да, проблема в том, что вам нужно создать приложение для его профилирования.
На работе у нас было несколько проектов, написанных за пределами, которые мы загрузили, прежде чем помещать их в наши основные коробки. Мы были очень удивлены, обнаружив критические проблемы с производительностью с обоими; один был написан в CakePHP, а другой был написан с использованием Drupal. Я не думаю, что это указывает на проблему с любой каркасом или CMS, кроме необходимости делать профилирование и нагрузочное тестирование на любом сайте, который будет получать значительный трафик. В обоих случаях именно разработчик сделал это, а не характеристики программной платформы, что вызвало эту проблему. Например, был рекурсивный вызов функции, созданный разработчиком в проекте Cake, который создавал экземпляр всего объекта Cake для каждой рекурсии, и это могло бы вывести сервер, если бы он перешел в режиме реального времени под нагрузкой.
По моему мнению, производительность не должна быть решающим фактором при выборе структуры; объективные различия, вероятно, будут незначительными, и способ, которым вы его используете, скорее всего, вызовет гораздо больше проблем с производительностью, чем присущая инфраструктуре.
Я считаю, что для масштабирования любого приложения PHP для работы под нагрузкой вам понадобится кеш-код операции, и вам нужно будет писать в интеллектуальном кэшировании контента, используя что-то вроде memcached или любого встроенного кэширования поддержки фреймворка.
Если ваш сайт управляется базой данных, я был бы очень удивлен, если ваше узкое место будет платформой приложения. "Быстро", как в более быстром развитии, я бы беспокоился, а не "быстро", как при быстром обращении с запросами. Значительную оптимизацию лучше выполнять с помощью стратегий кэширования и оптимизации доступа к базе данных.
Помимо доступа к базе данных ваш собственный код будет там, где большая часть времени для каждого запроса будет потрачена (и даже это обычно не имеет значения по сравнению с доступом к базе данных), структура, скорее всего, не повлияет на время, затраченное на запрос, если только это действительно плохо написано.
Лучше искать фреймворк, который имеет хорошую поддержку кеширования (который, возможно, имеет код Igniter, я не знаю), который почти всегда будет экономить ваше время больше, чем несколько миллисекунд, которые вы могли бы скрыть от обработки запроса используя немного более быструю структуру.
Посмотрите также на Zend Framework, это имеет преимущество PHP 5, тогда как Code Igniter все еще PHP 4, как я понимаю. Это может быть проблемой, когда дело доходит до скорости, но в пользу какой рамки я не знаю. Zend имеет хорошую поддержку кэширования и профилировщик базы данных, который поможет вам найти, где ваши узкие места.
Это интересно, но имейте в виду, что не очень много говорит о реальном приложении.
Я бы рекомендовал проверить его для себя. используйте xdebug profiler для создания файла, совместимого с cachegrind, и webgrind для визуализации файла.
таким образом вы получите очень надежную информацию.
Тео,
Да Code Igniter предлагает кеширование. Не знаю, насколько он эффективен, но доступен.
CodeIgniter для большинства проектов достаточно быстро. Некоторые из них размещены здесь, и если вы Google, вы обнаружите, что он выгодно отличается от других фреймворков относительно скорости.
Я бы согласился с другим плакатом, что производительность, как правило, не вызывает большого беспокойства, когда речь заходит о выборе каркаса. Основные структуры имеют достаточную производительность для большинства проектов.
Вы будете довольны Codeigniter. У меня есть пара сайтов с большими нагрузками, и он отлично подходит для меня.
Я нахожу codeigniter довольно быстро по сравнению с другой инфраструктурой php.
Его даже быстро узнать.. -)
Если у вас есть концепция MVC, для начала нужно всего пару часов...
Возможно, вы захотите прочитать THIS THREAD на форумах CodeIgniter, который сравнивает скорость на полном сайте, сначала разработанном с помощью CakePHP, а затем переписан с использованием CodeIgniter
Я поддерживаю сайт, который захлопывается несколько раз в год. В прошлом году команда разработчиков переписала весь сайт с помощью Codeigniter, и нам было очень повезло с точки зрения производительности. Кроме того, время, затрачиваемое на выполнение перезаписи, было минимальным, так как с этой структурой довольно легко работать. CakePHP, на мой взгляд, также является хорошим выбором, если вы обнаружите, что вам не нравится Codeigniter.
Для CodeIgniter и других фреймворков PHP PHP Quick Profiler очень удобен для бенчмаркинга и измерения скорости, особенно для запросов к базе данных. Вы должны проверить это: php-quick-profiler
Он очень прост в установке и предоставляет потрясающий графический интерфейс для изучения различных тестов бенчмаркинга.
выполните следующие шаги, чтобы определить скорость кодирования кода
https://dzone.com/articles/5-things-you-should-check-now
и это для определения производительности и оптимизации
http://ericlbarnes.com/codeigniter-performance-optimizations/