_RVK_
Новичок
Умное кеширование. Как жить при высоких нагрузках.
Нагрузка на ресурс >100 000 хостов (3-4 млн. хитов) в сутки. Соответственно живем только засчет наличия кеширования. Требование заказчика состоит в том что бы кеширование убрать вообще, или сделать его незаметным для пользователя. То есть при обновлении данных в БД, пользователь должен видеть изменения сразу. Это в идиале.
На данный момент кеширование используется смартевое. Но данный способ кеширования имеет ряд недостатков:
1. Нужен тяжелый смарти.
2. Нужна дополнительная логика в коде.
3. Кеш хранится непосредственно на диске. Так как морд много, экземпляров кеша столько же.
Если при существующей нагрузке отключить кеширование, то в первую очередь упадет муська. Таким образом первоочередная задача снизить нагрузку на СУБД.
Как результат мозгового штурма, появились две концепции.
1. Кешировать данные. Хрананить в мемкеше.
2. Кешировать HTML. Хранить на кеширующем сервере.
Первый вариант(теоретически) снизит нагрузку на MySQL, но нагрузка на остальные сервера не упадет.
Второй вариант снизит нагрузку на все сервера, кроме фаловых. Но он сложнее в реализации. В этом случае хотелось бы что бы пользователю отдавался всегда готовый HTML с сервера, и при этом не дергался лишний раз апач и PHP. Как раз здесь понимание наиболее размытое.
Мне бы хотелось сдесь обсудить возможные варианты решения данной проблемы.
Нагрузка на ресурс >100 000 хостов (3-4 млн. хитов) в сутки. Соответственно живем только засчет наличия кеширования. Требование заказчика состоит в том что бы кеширование убрать вообще, или сделать его незаметным для пользователя. То есть при обновлении данных в БД, пользователь должен видеть изменения сразу. Это в идиале.
На данный момент кеширование используется смартевое. Но данный способ кеширования имеет ряд недостатков:
1. Нужен тяжелый смарти.
2. Нужна дополнительная логика в коде.
3. Кеш хранится непосредственно на диске. Так как морд много, экземпляров кеша столько же.
Если при существующей нагрузке отключить кеширование, то в первую очередь упадет муська. Таким образом первоочередная задача снизить нагрузку на СУБД.
Как результат мозгового штурма, появились две концепции.
1. Кешировать данные. Хрананить в мемкеше.
2. Кешировать HTML. Хранить на кеширующем сервере.
Первый вариант(теоретически) снизит нагрузку на MySQL, но нагрузка на остальные сервера не упадет.
Второй вариант снизит нагрузку на все сервера, кроме фаловых. Но он сложнее в реализации. В этом случае хотелось бы что бы пользователю отдавался всегда готовый HTML с сервера, и при этом не дергался лишний раз апач и PHP. Как раз здесь понимание наиболее размытое.
Мне бы хотелось сдесь обсудить возможные варианты решения данной проблемы.