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

понедельник, 8 декабря 2008 г.

Кеширование

При кешировании высоко нагруженных проектов есть проблема протухания кеша.

http://softwaremaniacs.org/blog/2008/02/22/why-offline-crashed/

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

Вернуть старые данные неверно, если посетителей нет, то этот единственный посетитель увидит старые данные, тем самым если посетители редкие, то они будут всегда получать старые данные, однако есть вариант решения:

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

Комментариев нет: