вопрос по MySQL кешированию

R
На сайте с 11.03.2010
Offline
104
658

Узкое место - работа с БД, сервер держит 20 тыс однотипных запросов к разным строкам БД в секунду, если больше то сервер не справляется, и

обычно используют кеширование вместо наращивания железа. Я представляю себе 2 вида такого кеширования:

1. если строки в БД не менялись, то значения берутся из кеша (обычно оперативки)

2. если считать что первый вариант не прокатит, потому что поля меняются или еще почему-то, и нужно все запросы реально направлять на MySQL

сервер, то в этом случае можно собирать запросы в куски и делать меньше запросов select к БД, т.к. они выполняются быстрее чем много мелких.

Вопрос такой: где уже реализовано кеширование второго типа (может оно уже встроено в memcashed или что то другое надо юзать, подскажите) ?

N
На сайте с 06.05.2007
Offline
419
#1

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

Radiante:
обычно используют кеширование вместо наращивания железа

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

Кнопка вызова админа ()
Andreyka
На сайте с 19.02.2005
Offline
822
#2

Шардинг пробовал?

Не стоит плодить сущности без необходимости
V
На сайте с 05.08.2007
Offline
87
#3
Radiante:

сервер, то в этом случае можно собирать запросы в куски и делать меньше запросов select к БД, т.к. они выполняются быстрее чем много мелких.

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

С уважением, Victor (http://adm-lib.ru)
RAS
На сайте с 27.11.2005
Offline
126
RAS
#4

обычно такое пишут сами, если не используется framework, где это уже есть.

довольно просто реализовать подобное, просто нужно время и анализ.

можно использовать mysql-proxy с кэшем, начало здесь - http://blog.danielhlockard.com/?p=103

исходники здесь и еще есть местами - https://github.com/clofresh/mysql-proxy-cache

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.
[Удален]
#5

для обработки множества простых запросов в секунду на mysql можно использовать Handler Socket, он идет в комплекте со сборкой от перконы

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий