Не понятно, как именно вы оцениваете «сайт не стал быстрее работать». Вы пробовали открывать свой сайт с отключенным кешем в браузере? Там разница не так ощутима, но когда у вас на морде около 500.000, тогда эти вещи становятся более ощутимы. В вашем случае это не должно быть так критично =)
Да и плюс к этому сейчас существуют различные акселераторы. Просто мне сейчас со смехом вспоминается, что я когда-то заморачивался на длину названия переменной.
Как я уже говорил, я не пытался рассказать ничего нового, все это написано и не один раз. Если кому-то эта статья поможет сделать свой проект лучше и быстрее — это уже очень хорошо.
Нет. Я рассказываю, как уже работает на боевых серверах. Конечно, когда писался код никто об этом не задумывался, но сейчас уже пришлось сделать такие изменения.
Да, в этом случае можно делать require_once в том единственном методе, где он нужен, но ни к чему хорошему в итоге это все не приведет.
Вообще последнее время есть мысль попробовать объединить все файлы проекта в один большой и посмотреть, как поведет себя боевой сервер. Еще года два назад читал, что это вроде хороший способ повысить производительность, но руки так и не добрались.
Есть два пути кеширования: кеширование данных и кеширование результата.
Если кешировать данные, приходящие из выборки, то потом с ними можно делать что-угодно и выводить в любом удобном виде.
При кешировании результатов блоков шаблонов конечно возрастет скорость, но и возникнут дополнительные проблемы. Если об увеличение объема кешируемых данных можно и забыть, то про то, что один и тот же шаблон по разному выглядит для разных пользователей и зависит от большого количества внешних параметров не получится. К тому же у пользователя могут быть свои настройки (цвет интерфейса, язык, последние просмотренные клипы и т.п.).
В общем-то можно совмещать эти два способа, все зависит от контента на вашем сайте.
Подсчет статистики лучше делать на стороне PHP или делать подсчет рейтинга пользователя/видео тоже лучше делать на стороне PHP, ведь в этом случае точность до секунды не важна, но база данных не будет загружена.
Да, потому что базу тяжело масштабировать. Есть и другой пример:
Если у меня в кеше лежит выборка первых 10-ти друзей пользователя, то для того чтобы вывести первых 3-х мне не надо делать запрос в базу. Я на стороне PHP могу сделать это, тем самым убрав лишнее обращение к БД.
Вообще последнее время есть мысль попробовать объединить все файлы проекта в один большой и посмотреть, как поведет себя боевой сервер. Еще года два назад читал, что это вроде хороший способ повысить производительность, но руки так и не добрались.
Если кешировать данные, приходящие из выборки, то потом с ними можно делать что-угодно и выводить в любом удобном виде.
При кешировании результатов блоков шаблонов конечно возрастет скорость, но и возникнут дополнительные проблемы. Если об увеличение объема кешируемых данных можно и забыть, то про то, что один и тот же шаблон по разному выглядит для разных пользователей и зависит от большого количества внешних параметров не получится. К тому же у пользователя могут быть свои настройки (цвет интерфейса, язык, последние просмотренные клипы и т.п.).
В общем-то можно совмещать эти два способа, все зависит от контента на вашем сайте.
Если у меня в кеше лежит выборка первых 10-ти друзей пользователя, то для того чтобы вывести первых 3-х мне не надо делать запрос в базу. Я на стороне PHP могу сделать это, тем самым убрав лишнее обращение к БД.