выступления CakePHP в большом проекте - PullRequest
1 голос
/ 14 декабря 2010

Мне нужно разработать большое приложение (рекламную платформу, которая получит более 10 000 пользователей и 100 000 списков). Является ли хорошей идеей выбрать cakephp для создания такого сайта?

Большое спасибо

Ответы [ 5 ]

4 голосов
/ 14 декабря 2010

Rasmus (изобретатель PHP) не очень любил cakephp, потому что у него (он тестировал некоторое время назад, чтобы все могло измениться) действительно плохая производительность. Он больше всего любил codeigniter, потому что у него была лучшая производительность. Ниже цифры (производительность):

CakePHP:

Response time:              0.19 secs
Transaction rate:          25.88 trans/sec

CodeIgniter:

Response time:              0.03 secs
Transaction rate:         305.90 trans/sec

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

Фреймворк без фреймворка

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

в заключении он говорит:

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

Выход на диск станет настоящим убийцей производительности.

Это самый важный совет, который вы должны иметь в виду.

Мои советы по производительности

  1. Используйте последнюю версию php (5.3), потому что я прочитал, что она значительно улучшила скорость по сравнению со старыми версиями.
  2. Убедитесь, что у вас достаточно памяти. Вам нужно хранить много данных в памяти, чтобы получить хорошую производительность.
  3. Вам действительно нужен APC (сконфигурируйте его правильно) для достижения хорошей производительности, потому что он поместит код операции PHP в память, что даст вам огромный импульс.
  4. Вы должны хранить ваш активный набор данных в памяти, используя redis / memcached / и т. Д.
  5. Если вам нужно выполнять длительные задачи, обрабатывайте их через очередь сообщений (redis / gearmand / kestrel / etc)
  6. Следуйте рекомендациям YAHOO , чтобы ускорить работу вашего сайта.
  7. Не используйте тяжелый PHP-фреймворк. Используйте что-то вроде Codeigniter (сравните его).
1 голос
/ 15 декабря 2010

У нас был сайт Cake, который запускал 20 000 уникальных файлов в день (с ~ 8 000 списков) без каких-либо проблем - и это была установка, возможно, 3 года без обновления. Поэтому, хотя и не совсем в том масштабе, о котором вы говорите, я не думаю, что он настолько плох, как некоторые люди могли бы разобрать (и, несомненно, быстрее в наши дни).

Я обнаружил, что CodeIgniter лучше во всех отношениях, чем Cake, но это личный префект :)

0 голосов
/ 15 декабря 2010

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

0 голосов
/ 14 декабря 2010

Это ужасная идея, которая не будет масштабироваться.Держите его легким и используйте memcache.

0 голосов
/ 14 декабря 2010

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

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

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