LINUX.ORG.RU
ФорумAdmin

ферма http-серверов


0

1

есть http-сервер, работающий с БД.

его, теоретически, можно размазать по нескольким физическим хостам (хз в терминологии, не моя стезя), чтобы они все были доступны по одному ip:port

вопрос такой: если сервер работает в одно соединение с БД, можно ли его размазать штук на 10 процессов на одном хосте по той же схеме, чтобы проэмулировать работу в несколько соединений с БД? будет ли оверхед по сравнению с сервером на 1 процесс в 10 коннектов к БД?

можно ли его размазать штук на 10 процессов на одном хосте по той же схеме

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

будет ли оверхед по сравнению с сервером на 1 процесс в 10 коннектов к БД

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

А вообще данных маловато, тяжело отвечать.

AndreyKl ★★★★★ ()
Ответ на: комментарий от AndreyKl

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

vadv ★★ ()
Ответ на: комментарий от vadv

Я так понял у человека цель - потестить базу. И он хочет несколько инстансов аппликейшина запустить чтобы нагрузку повыше сделать (видимо один инстранс не грузит достаточно и есть свободные ресурсы). Т.е. как бы взгляд с другого конца по сравнению с тем о чём ты говоришь.

AndreyKl ★★★★★ ()

Читал где-то, как nginx распределяет нагрузку по Tomcat серверам... Только вот забыл, где. Может, анонимус, читающий дальше, подскажет?

Хотя, гугл много ссылок дает. Например, эту http://www.ashep.org/2011/nginx-balansirovka-nagruzki/#.UvvkAJWgN8s

bvn13 ★★★★★ ()
Последнее исправление: bvn13 (всего исправлений: 1)
Ответ на: комментарий от vadv

Можно и как мастер-слейв. У мну работает:

2 frontend на nginx + apache2 + mysql slave 1 backend на apache2 + mysql master

В DNS прописаны 2 host A фронтэндов. На бекэнд ходят тока редакторы для добавления новостей.

black_13 ()
Ответ на: комментарий от black_13

это тебе повезло что у тебя приложение может отличать master от slave, в большинстве случаев, даже с рельсами - адские проблемы.

vadv ★★ ()
Ответ на: комментарий от vadv

Не сочтите за издевку, а поподробней можно? Как это? База же такая же. Какая разница web движку master это или slave? База есть, данные есть ... сделал select, показал результат. Какие могут быть грабли?

black_13 ()
Ответ на: комментарий от black_13

очень просто: вы написали сообщение, которое должно сохраниться в базе, но отправили запрос апликейшену который подключен к slave, что дальше?

vadv ★★ ()
Ответ на: комментарий от vadv

А ну да, логично :)

У нас простой сайт-визитка, изменения вносят всего пару человек. Ну и админка сайта находится только на backend, на фронтах nginx-ом закрыт вход на админку, не попадеш как не старайся :) Такое вот решение.

Но если web-ресурс с возможностью публичного создания/редактирования контента - там сложнее, согласен.

black_13 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.