Код в простом PHP против DooPhp - PullRequest
0 голосов
/ 13 октября 2010

Я видел, что DooPHP является самой быстрой в мире платформой MVC, и я собираюсь рассмотреть это для создания критически важного веб-сайта, который способен обрабатывать более 100 000 одновременно работающих пользователей.

Мне нужно с нуля создать свой сайт на виртуальном хостинге и запустить CPanel на VPS, который использует Apache 2.0.x с PHP 5.2.14 и MySQL.С точки зрения производительности, имеет ли это большое значение при кодировании PDO (доступ к базе данных) + PHP против DooPHP?

Ответы [ 4 ]

5 голосов
/ 13 октября 2010

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

Это предполагает, что вы хорошо разбираетесь в PHP и знаете, как писать хороший код.

Фреймворк сократит время разработки.

Если производительность является ключевой проблемой, обратите внимание на кэширование кодов операций, кэши на стороне сервера, заголовки удаленного истечения срока действия, CSS-спрайты и т. Д., И т. Д. (Естьмного).

4 голосов
/ 13 октября 2010

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

Ответ: не совершайте грех оптимизации до завершения программы.

Ответ # 2: но обратите внимание на производительность по мере продвижения.

Игнорируйте инструментарий на секунду и посмотрите только на PHP и машину.Лучшее, что вы можете сделать, это оптимизировать сервер, а затем обратить внимание на отдых.На этом уровне сервера я расскажу здесь только о кэшировании и объеме памяти - и покажу измеренные тренды до и после в среде PHP.

Одним из интересных побочных эффектов использования кэширования кода операции является меньший объем памяти,Это, в свою очередь, дает вам возможность масштабироваться вверх.Машина, хотя она и забита, имеет больше памяти для обработки мгновенных запросов и имеет больше времени для восстановления после заимствований подкачки.

Этот график немного сбивает с толку (и обрезает), но он показывает, что он не оптимизирован по сравнению с оптимизированной памятьюслед.Самым низким выступом является объем памяти, оставшийся после оптимизации.

alt text

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

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

После этой конкретной оптимизации машина смогла принимать гораздо больше пакетного трафика (от 200 запросов в час до 700 легко).

Удачи.

3 голосов
/ 29 октября 2010

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

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

Apache и Cpanel могут излишне замедлять работу с самого начала.MySql или любая БД в конечном итоге оказываются узким местом, особенно когда речь идет об ORM.

Как добиться еще большей производительности от вашей коробки:

  1. Ditch Apache и Cpanel и заменить наNginx / Php-fpm
  2. Установите memcache и php apc и используйте Nginx FastCgi Cache.
  3. Создайте хорошую схему базы данных с хорошо продуманным индексированием
  4. Оптимизация запросов MySql с помощью бенчмаркинга
  5. Используйте фреймворк, такой как DooPhp, который обладает всеми основными функциональными возможностями, которые вам нужны, без раздувания.
0 голосов
/ 27 апреля 2011

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

...