Как минимизировать время ответа на запросы - PullRequest
2 голосов
/ 18 января 2011

Я уже давно пользуюсь CakePHP. Работать над проектами широкого спектра очень просто и здорово. Я делал большинство тяжелых вычислений и доступ к базе данных в функции контроллера. И только используя представления для отображения данных, которые интересуют пользователя. До сих пор он работал отлично. И никаких проблем не произошло. Но я хочу спросить: «Это правильный способ работы с фреймворком в PHP? Есть ли другой способ, которым я могу минимизировать время, необходимое для обработки запроса. Спасибо.

1 Ответ

0 голосов
/ 18 января 2011

APC

Самый простой способ повысить производительность - это использовать (установить) APC . APC помогает повысить производительность, предварительно скомпилировав байт-код и сохранив его в памяти (память быстро). Если вы работаете с провайдером виртуального хостинга, у вас нет такой роскоши, но с другой стороны, если ваш сайт становится большим и получает много трафика, вам следует отойти от общего хостинга. Вы должны купить VPS, и если ваш сайт становится слишком большим для этого, вы должны купить определенную машину для хостинга. Окончательное решение, если вы становитесь действительно крупными, вы должны запустить / купить облачную систему.

КЭШ

Далее вы должны CACHE свои данные в памяти, чтобы снова ускорить ваш сайт с помощью APC. Если ваш сайт становится большим, а одна коробка больше его не обрезает, вы должны кэшировать свои данные, например, redis или memcached . Некоторые люди также начинают с использования redis / memcached с самого начала. Например, redis (FAST => KICKASS) также очень мощная база данных в памяти.

Низко висящий фрукт

После этого вы должны сравнить свой сайт с помощью такого инструмента, как, например, осада, и взяться за низко висящие фрукты (не тратьте свое время на глупые микрооптимизации ) с помощью инструмента, такого как, например, valgrind. / calgrind. Это видео "Simple is Hard" от Расмуса Лердорфа (создатель PHP) объясняет, как он этого добивается.

Тесты CakePHP

Как замечание, я также хотел бы отметить, что Расмус Лердорф (создатель PHP) выполнил несколько тестов на CakePHP (CakePHP 1.2.0rc2) в прошлом и испытал, что это было очень медленно (возможно изменилось, потому что тесты были выполнены в 2008 году или что-то). но я думал, что эти слайды действительно интересны. Основываясь на слайдах, я бы порекомендовал вам перейти на Codeigniter (чем легче ваша платформа, тем выше будет ваша производительность) в качестве вашей.

...