Высокопроизводительный PHP - PullRequest
0 голосов
/ 06 сентября 2010

Я собираюсь запустить веб-приложение CodeIgniter.Любые рекомендации о том, что я должен сделать, чтобы максимизировать производительность моего приложения?Я думаю, что memcached и ускоритель (хотя я не уверен, какой именно).Предложения?

Ответы [ 5 ]

1 голос
/ 06 сентября 2010

Чтобы максимизировать производительность, нужно минимизировать запросы к базе данных.Денормализуйте таблицы перед тем, как взломать кэш-память.И что более важно, сначала запустите ваше приложение через xdebug, чтобы проверить вывод cachegrind .

1 голос
/ 06 сентября 2010

memcached отлично, если вам нужно больше типов данных Redis также является отличной альтернативой.Кэш Opcode типа APC может помочь.Новый SAPI в PHP 5.3.3 (FPM) может сильно помочь, если вы не хотите идти традиционным mod_php способом.

1 голос
/ 06 сентября 2010

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

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

Вы также можете сделать что-то, например, переместить вещи в своем htaccess в конфигурацию сервера и отключить htaccess, чтобы сервер не тратил время на поиск в каждом каталоге.

0 голосов
/ 06 сентября 2010

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

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

Edit:

Посмотрите на следующие тесты из AventLabs

0 голосов
/ 06 сентября 2010

вы можете использовать оба - самый простой ответ.

...