SergXP
Постоялец
- Регистрация
- 8 Мар 2008
- Сообщения
- 66
- Реакции
- 11
- Автор темы
- #1
Всем привет!
Задача не совсем для начинающих, больше к профи)
Все мы рано или поздно сталкиваемся с быстродействием кода.
При обработки тяжелых массивов и SQL запросов, сильно грузится процессор.
К тому же при больших массивах, жрется и память.
Отсюда более длительное время генерации страницы и страшное пожирание памяти сервера.
Можно использовать модули, eAccelerator, memcache и тд
Но не у каждого человека есть возможно приобрести VPS,VDS.
Прибегаем к кэшированию, а значит потеря динамики сайта. Тоже выход не супер, но работает)
Есть идея, как разработать умный кэшер, который будет поддерживать динамику сайта
и в тоже время, уменьшать нагрузку.
Но вот незадача, как быть с огромными массивами?
Массив в памяти весит больше 10мб, это очень много.
А без него сайт кушает всего-лишь 2-3мб.
Ну хорошо, кэшируем его(массив) в файл, предварительно упаковав в serialize.
А дальше? А дальше считываем с кэша. Да, нагрузка на процессор уходит, в 10раз уменьшилась.
Только вот память все также на износ.
как быть в данном случае? создавать какой-то индексный файл?
или весь массив передавать в базу? но это ужасно просто %)
Задача не совсем для начинающих, больше к профи)
Все мы рано или поздно сталкиваемся с быстродействием кода.
При обработки тяжелых массивов и SQL запросов, сильно грузится процессор.
К тому же при больших массивах, жрется и память.
Отсюда более длительное время генерации страницы и страшное пожирание памяти сервера.
Можно использовать модули, eAccelerator, memcache и тд
Но не у каждого человека есть возможно приобрести VPS,VDS.
Прибегаем к кэшированию, а значит потеря динамики сайта. Тоже выход не супер, но работает)
Есть идея, как разработать умный кэшер, который будет поддерживать динамику сайта
и в тоже время, уменьшать нагрузку.
Но вот незадача, как быть с огромными массивами?
Массив в памяти весит больше 10мб, это очень много.
А без него сайт кушает всего-лишь 2-3мб.
Ну хорошо, кэшируем его(массив) в файл, предварительно упаковав в serialize.
А дальше? А дальше считываем с кэша. Да, нагрузка на процессор уходит, в 10раз уменьшилась.
Только вот память все также на износ.
как быть в данном случае? создавать какой-то индексный файл?
или весь массив передавать в базу? но это ужасно просто %)