powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / архитектура web-сервера
22 сообщений из 22, страница 1 из 1
архитектура web-сервера
    #38078622
almav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, приветствую!
У меня есть такой вопрос. Какая архитектура даст лучшую производительность для работы веб-сайта?
Первый вариант. Имеем два сервера на каждом стоит стандартный пакет, типа apache, php, mysql. Сервера синхронизированы rsync-ом (причем, в целом, такая синхронизация даже и не требуется, т.е. контет, касательно файлов, в целом, неизменен) и базы mysql настроены по схеме master-master реплткации (а здесь идет постоянное изменение). Все это дело работает через балансер, т.е. 50% запросов идет на один сервер 50 - на другой.
Второй вариант. Имеем те же два сервера. Но apache с сайтом сложены на одном сервере, а mysql вынесен на другой.
Я понимаю, что при средних настройках второй вариант как бы стабильней. Меня интересует исключительно производительность таких конфигураций.

Для конкретизации условий, если кому надо. Примем Linux CentOS. Ну и все вместе с железом пусть будет таким, что если взять просто один сервер, обслужтвающий работу веб-сайта, то при нагрузке, сажем, в 100 одновременно подключеных пользователей возникает перегрузка mysql. Вот для этой сотни какая схема даст лучшие показатели производительности?
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38078639
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Считай так: Х пользователей в любом случае сожрут все ресурсы обеих серверов. Но в первом
случае с ними будет конкурировать ещё и репликация. Т.е. Х1+репликация = Х2. Отсюда
следует, что Х1 < Х2 без вариантов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38078644
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, во втором варианте не нужен балансировщик. Но не угадаешь, что загнется раньше - вебсервер или мускуль.
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38078660
almav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Dimitry! Быстро и по делу.
Принял к сведению.
Но, извини не все тонкости работы сервера пока просекаю сразу, можешь добавить пару слов про то, почему X съедают все ресурсы. Ведь при X/2 сервер летает, а при X уже падает.
Извини, если вопрос глупо звучит - учусь.
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38078664
almav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
almav X съедают все ресурсы Я имел вводу X1=X/2
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38078682
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleНо не угадаешь, что загнется раньше - вебсервер или мускуль.

Зато и наращивать ресурсы им можно независимо. Как говорится в классике: "буде мало -
добавить, лишко - отрезать".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38078954
Фотография bga83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще репликация master-mastre в MySQL является "грязным хаком", официально она не поддерживается. Оно конечно работает какое-то время, но до первого мало мальски значимого сбоя. После чего идет рассинхронизация баз. Поэтому рекомендую либо искать другие СУБД, либо сменить схему работы с MySQL
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38078960
krevedko13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для небольшой-средней посещаемости второй тип архитектуры предпочтительнее, имхо.

В плюсах независимое наращивание мощностей при желании, возможность тонко настраивать ОС относительно специфики сервера, отсутствие накладных расходов на репликацию и отсутствие потенциальных косяков с Master<-->Master (говорят это вообще фиговая идея на MySQL)

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

У меня как раз по второму сценарию работает динамический сайтик на 150к хитов в сутки.
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38079435
Третий вариант, вообще-то.

Когда у тебя два сервера, они разделены между пользователями. Грубо говоря - все четные пользоователи идут на сервер2, нечетные - на сервер1
Базы данных две (по два инстанса на сервер), и они настроены в режиме master-slave.

Чем меньше межсетевого взаимодействия, тем лучше.

А если не в режиме "детский сад", а грамотно - то не два сервера, а, допустим, 16-ть. 16 заранее преднастроенных виртуальных серверов, но
в текущем режиме развернутых на двух машинах. Если будет рост числа пользователей, то добавление мощности будет банальным процессом
- просто добавляете физический сервер, виртуальный целиком перевозите на новое место.

Разброс пользователей балансировщиком, если вы конечно можете в GET/POST запросы встроить user_id, чтоб nginx правилами мог выбрать нужный apache back_end


---

Но мне кажется вы останетесь в режиме "детский сад1" или "детский сад2", из тобой озвученных выше.
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38079563
krevedko13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проясним ситуацБазы данных две (по два инстанса на сервер), и они настроены в режиме master-slave.

Чем меньше межсетевого взаимодействия, тем лучше.

16 заранее виртуальных серверов
Взаимоисключающие параграфы детектед.

Хорошо, у нас есть перекрестный Master-->Slave, а как мы синхронизируем базы между собой ? Или вообще не синхронизируем и называем это подобием шардинга ?
Это два сервера. А 16 ? 16 слейвов у каждого мастера ? Мы требуем продолжения банкета !
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38080040
krevedko13Или вообще не синхронизируем и называем это подобием шардинга ?
Это не подобие, это и есть шардинг в чистом виде.

krevedko1316 слейвов у каждого мастера ?
Нет. Просто 16 шард. Шарда подразумевает slave базу в качестве эдакого DR. Вынеси второй сервер за 50км от первого - будет чистый DR.


krevedko13Мы требуем продолжения банкета !

Решил блеснуть ослоумием?
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38080087
krevedko13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я правильно понимаю что в конечном итоге мы получим кучу цепочек "web <--> master --> slave" которые друг о друге не в курсе и ни одна из Mysql нод не будет иметь доступ к полным данным ?

Мне как-то более реальным кажется схема нескольких web-нод с балансировщиком (или парой балансировщиков) которые на запись обращаются к мускульному мастеру, а на чтение - к куче его слейвов (среднестатистический сайт все же должен сильно больше селектов генерить).
Правда сходу не смог придумать как оперативно и автоматически заменять выбывшего мастера, но думаю это решаемо.
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38080101
krevedko13Я правильно понимаю что в конечном итоге мы получим кучу цепочек "web <--> master --> slave" которые друг о друге не в курсе и ни одна из Mysql нод не будет иметь доступ к полным данным ?

Зачем одной mysql ноде иметь доступ к другой ноде? Надо ходить в соседнюю ноду - просто допиши свой чудный код на PHP, пусть выбирает нужный ему mysql сервер автоматически (типо отравить сообщение другу, который сидит на соседней группе серверов).


krevedko13Мне как-то более реальным кажется схема нескольких web-нод с балансировщиком (или парой балансировщиков) которые на запись обращаются к мускульному мастеру, а на чтение - к куче его слейвов (среднестатистический сайт все же должен сильно больше селектов генерить).
Я и не против. Колхозники с 5-40 тысячами пользователей в день так и поступают. Потом упираются в потолок роста и уходят с рынка.

krevedko13Правда сходу не смог придумать как оперативно и автоматически заменять выбывшего мастера, но думаю это решаемо.

есть средства - от ucarp и heartbeat до tivoli.
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38080106
krevedko13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну это если мы сами пилим свой продукт и можем там что-то менять, то да, можно на уровне приложения закладывать маршруты выборки и т.д. но так бывает очень не всегда, а если и бывает - то далеко не сразу.

Я понимаю что вы сильно на глаз прикинули посещаемость, но это было дико мимо. Предоставите данные о посещаемости и архитектуре вашего детища ? Чтобы ваши оскорбления были как-то подкреплены.
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38080996
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bga83и еще репликация master-mastre в MySQL является "грязным хаком", официально она не поддерживается. Оно конечно работает какое-то время, но до первого мало мальски значимого сбоя. После чего идет рассинхронизация баз. Поэтому рекомендую либо искать другие СУБД, либо сменить схему работы с MySQL
ето неправда. сейчас появились другие надежные СИНХРОННЫЕ репликационные механизмы
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38081004
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindСИНХРОННЫЕ репликационные механизмы
Синхронность имеет свою цену. Очень высокую.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38081015
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, а вода очень мокрая. я помню.
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38081018
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в контексте этой темы - одного веб-сайта, сервера которого, близко расположены друг к другу и имеют невысокую задержку передачи, синхронные механизмы репликации вполне разумны.
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38081022
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindа вода очень мокрая. я помню.
Ну так вспомни заодно, что система у ТСа планируется высоконагруженная, то есть лишних
ресурсов, которые можно выкинуть в трубу - нету.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38081048
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, где больше общая производительность у master+master или master + ничего ?
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38081078
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindгде больше общая производительность у master+master или master + ничего ?

Хороший вопрос. Вот только ответ зависит от многих факторов, включая характер нагрузки.
Даже если не принимать во внимание условия стартового поста, где описаны ровно два
сервера, на которые надо напихать весь стэк LAMP, и брать два исключительно сервера БД...
Весы могут качнуться в любую сторону.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
архитектура web-сервера
    #38082583
almav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovВесы могут качнуться в любую сторону.

Нет, ну нельзя было остановится после первого ответа.
Как хорошо получить твердый ответ - делай так! :))
Народ, спасибо за обсуждение. Если у кого есть еще какие мысли по поводу на что смотреть и как думать, чтобы сделать верный выбор, буду только рад.

Спасибо!
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / архитектура web-сервера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]