Разнос нагрузки по нескольким серверам

Rynor

stay hungry
Разнос нагрузки по нескольким серверам

уважаемые!
помогите с сабжем, плиз!
клиент хочет sybase, чтобы "разнести нагрузку 60 запросов в секунду по нескольким серверам".
я тут полный ламер в таких крутых системах...
1 - 60 запросов в секунду для MySQL - это очень много, просто много или вообще средне?

2 - как можно разнести нагрузку на БД на MySQL на несколько машин, если можно?

плиз на пальцах, популярно, спасибо заранее.
пошел читать по сабжу, но форум рулит.
 

AnToXa

prodigy-одаренный ребенок
1 - 60 запросов в секунду для MySQL - это очень много, просто много или вообще средне?
жить будет
у меня бывает и в 2 и в 3 раза больше.

2 - как можно разнести нагрузку на БД на MySQL на несколько машин, если можно?
хмм... не слышал о таких тулах для mysql
может быть поможет вынесение базы в память на одной машине и репликацией ее на другой? тогда все будет летать с жуткой скоростью.
 

Апельсин

Оранжевое создание
> как можно разнести нагрузку на БД на MySQL на несколько машин, если можно?

мм .. я встречала такую схему репликации, когда 1н мастер и 1/несколько слэйвов: все обновления таблиц на мастере, все селекты - на слайве/вах

кроме того можно сделать кластеризацию :)
http://www.mysql.com/newsletter/2002-09/a0000000067.html
 

Rynor

stay hungry
спасибо!

"жить будет" :)

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

и еще, если кто в курсе - на Sybase "такие тулы" есть, подскажите?

заранее спасибо
 

AnToXa

prodigy-одаренный ребенок
а по поводу вынесения БД в память можно поподробнее, плиз? неграмотному. и есть ли примеры сайтов на такой технологии?
просто делаешь диск в памяти и туда все базы загоняешь :)
а репликация идет чтобы данные не терять, если что вдруг :)
 

Rynor

stay hungry
спасибо!
более-менее идеи понял
по поводу мастер-слейвы я так понимаю БД все равно на 1 сервере, а с других просто к ней селекты идут, так?
а как определяется - какой слейв вполняет конкретный селект? заранее в коде или на лету через софт/железо?
 

Апельсин

Оранжевое создание
> по поводу мастер-слейвы я так понимаю БД все равно на 1 сервере, а с других просто к ней селекты идут, так?

нет, это разные сервера, и на каждом из них свои БД.
Одинаковые БД те, которые реплицируются (ты можешь не все БД реплицировать) но все равно на каждом своя.

> а как определяется - какой слейв вполняет конкретный селект?

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

> заранее в коде или на лету через софт/железо?

вот там где я тебе давала ссылочку по кластеризации (она тоже на репликации основана), там они кажется на сетевом уровне перехватывают обращение (все сервера под одним IP находятся) и распределяют нагрузку между серверами ..
 

si

Administrator
60 - запросов это очень мало для mysql если это не сплошные insert при условии нормального современного железа а не P-200 которуму 100 лет. можно разнести web сервер и DB на разные серверы - это просто, но для начала надо выяснить что является у вас слабым звеном и тормозит (или может тормозит) вполне может надо начинать не с mysql
 

Rynor

stay hungry
ясно, успокоили по поводу 60 запросов в секунду :)
да не тормозит...пока
просто клиент озабочен красивыми терминами, чтоб типа круто, чтоб чиста все вздрогнули
вот такие пасаны не только у нас в россии
нагрузка, правда, предполагается и переписывать потом код желания нет
 

Rynor

stay hungry
а по поводу разноса веб, почты, бд серверов по разным машинам - сабж мне куда более-менее понятный, чем разнос БД :)
просто хотел, чтобы профи успокоили, что не все так страшно :)
 

Motor

Guest
Есть 2 сервера(master-slave), репликацию настроил, работает.... а повышения скорости выполненя SELECT нету.

И все таки.. как распредилить нагрузку (чтение) среди серверов?
 

fixxxer

К.О.
Партнер клуба
Сначала надо найти, что тормозит, а потом оптимизировать.
Естественно, select * from table_1G_in_size where foo like '%bar%' будет тормозить.
 

Motor

Guest
Да.. запрос именно ... like '%xxx%' в таблице около 6млн. записей. Вот поэтому и хотелось распредилить нагрузку на 2 сервера. Типа "пол таблицы" обрабатывает 1ый сервер, и в этоже самое время другие "пол таблицы" обрабатывает 2ой сервер. Очень хотелось бы уменьшить время поиска.
 
Сверху