- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Уважаемые форумчане, прошу Вас помочь в теоретическом решении возникшего вопроса.
На данный момент необходимо определиться с железом, и с тем, как оно будет связано(а может и не будет).
Варианты которые рассматриваем мы:
Вариант №1(1 сервер под все службы):
-----Процессор: 2шт 6-core Intel Xeon E5-2620V2(НТ)
-----RAM: 32GB/64GB
-----Диски: 4 х SAS 15k 300GB в RAID 10 аппаратный
Вариант №2(2 сервера):
-----1-ый сервер(чисто под MySQL):
----------Процессор: 6-core Intel Xeon E5-2620V2(НТ)
----------RAM: 16GB/32GB
----------Диски: 2 х SAS 15k 300GB в RAID 1 аппаратный
-----2-ой сервер(под все остальные службы):
----------B]Процессор: 6-core Intel Xeon E5-2620V2(НТ)
----------RAM: 16GB/32GB
----------Диски: 2 х SAS 15k 300GB в RAID 1 аппаратный
-----2 сервера будут соединены по локалке на скорости 1Гбит/сек.
Чем это все навеяно...
-----1) Человек(Evas) с форума подсказал, что есть плюсы(быстродействие) при реализации варианта№2.
-----2) Знание проекта позволяет мне предположить(?), что мускул хавает ресурсов больше чем все остальные службы вместе взятые, ну или столько же(то есть 50% мускул).
-----(?) - конечно, хотелось бы конкретики. Например кол-во потраченных ресурсов(процессор, RAM, пиковая нагрузка и т.д.) каждым процессом за сутки. Evas мне показал команду top, но она показывает в реал-тайме.
Ну а пока(надеюсь кто-нибудь добрый человек подскажет, как эти статистические данные добыть) нет конкретных данных, давайте предположим 3 возможных варианта:
-----1) MySQL кушает 25% от общего кол-ва потребленных ресурсов
-----2) MySQL кушает 50% от общего кол-ва потребленных ресурсов
-----3) MySQL кушает 75% от общего кол-ва потребленных ресурсов
вопрос№1:
-----Если рассматривать 3 вышеописанных случая, то в каком из них логичней/полезней/правильней использовать вариант№1, а в каком вариант№2?
вопрос№2:)
-----I) Насколько это логично, учитывая тот факт, что вариант№2 будет стоить дороже процентов на 30-50?
-----II) Что мы получим(плюсы и минусы) при реализации варианта№1 и варианта№2?
вопрос№3:)
-----1) Как узнать сколько в сутки на диск записано и сколько прочитано, ну или сколько было операций записи/чтения. От этого зависит будем ли выбирать для варианта№1 между RAID10 и RAID15, и для варианта№2 между RAID1 и RAID5, или же остановимся на RAID10 и RAID1 соответственно.
Если написано сумбурно и непонятно - поймите, простите, задавайте вопросы;)
Всем заранее большое спасибо за участие в дискуссии:beer:
Если для mysql использовать отдельный сервер, то возникают минусы.
1) Между серверами скорость обмена данными значительно ниже, чем при запросах к mysql на этом же сервере.
2) При использовании 2-х серверов в 2 раза снижается надежность системы.
Если есть возможность, то лучше все держать на одном мощном сервере, чем на нескольких слабых.
Я лично за 1 мощный сервер.
И не нужно гнаться, чтобы всё было в RAID.
Я конечно со своим взглядом. Но если уж база нужно так сильно использовать, то лучше на отдельный диск её скоростной на том же сервере.
Почему же текущую конфигурацию и уже замеченные узкие места не описали ?
Так-то гадать и теоретизировать можно очень долго.
Если mysql вытащить на отдельный том lvm, то такие программы как munin,atop,iostat покажут оценку загруженности очереди (Disk utilization) тома в процентах от 100. Начиная с каких-то версий ядра появились счетчики очереди не только на физические устройства, но и по томам. Только ядро нужно не очень старое. Можно ли этим цифрам доверять? Сам точно не знаю.
Если вообще все на LVM лежит, а части сайта разложены по отдельным томам, то можно сравнивать эти цифры друг с другом и делать вывод о относительной доли того или иного компонента в общей нагрузке на диск.
Я конечно со своим взглядом. Но если уж база нужно так сильно использовать, то лучше на отдельный диск её скоростной на том же сервере.
Для "среднестатистического веба" - один из самых выгодных вариантов. Не жрет mysql обычно много процессорного времени процессора. А вот большое количество простых и мелких запросов случается. Загрузку процессора вы легко оцените через top. Или лучше atop в режиме просмотра истории.
Два сервера — в два раза больше точек отказа.
Два сервера потребуют от вас в два раза больше внимания.
Нельзя будет отдать 100% вычислительной мощности MySQL-ю, в случае необходимости поворочать что-то тяжёлое.
И, как верно было замечено, unix-сокеты работают гораздо быстрее TCP, и прирост производительности, скорее всего, будет отрицательный.
zexis, спасибо за уделенное время.
Леня, не тока база, но и сервер в целом должны жить. Час простоя сайта = ущерб 300$+ для нашей кампании в целом. Про потерю данных вообще молчу - это ппц как критично, поэтому решили делать 100500 бэкапов на разные сервера.
Почему же текущую конфигурацию и уже замеченные узкие места не описали?
Сейчас узких мест нету(все запросы к БД оптимизированы). Любой из запросов на сайте выполняется не более 0.1 секунды. В совокупности любая страница открывается максимум за 0.5(редко при нагрузках) секунд.
Вот конфиг текущий
Процессор:Intel® Core™ i3-2130 4x3.4Ghz (HT)
Индекс производительности процессора: 4016
Память: 16 Gb
Диск: 2x750GB
Канал: до 1Gbit/s
Разрядность ОС:64 Bit
Операционная система:CentOS 6.x
В принципе, во 2-ой версии скрипта(то, для чего берем новый сервер) еще больше оптимизации нежели в первой(текущей) версии.
Единственный момент: после запуска v2 мы выйдем в паблик и нагрузка увеличиться в разы, отсюда и опасения. ну и соответственно если сейчас час простоя = 300$, то дальше будет этот показатель только расти.
netwind, как это вытащить в lvm?
[umka], спасибо!
Ну и еще 1 вопрос публике: лучше РЕЙД10 или РЕЙД15(переплата на 120$ в месяц)?
Мой админ, чтобы побыстрее БД работала, для БД создал виртуальный диск в памяти и все запросы идут к нему + репликация на физический диск.
На практике были проблемы в начале, но сейчас все шустро и стабильно.
И да, я тоже за один сервер, если можно им обойтись...
Timen, спасибо. Скажите пожалуйста, репликация идет в режиме реал-тайм, или с каким-то интервалом? Также интересует объем Вашей БД и RAM'ки, ну и загруженность.
У нас на данный момент база 2Гб+
Из 64Гб оперативы можно будет половину отдавать базе?
netwind, как это вытащить в lvm?
Ясно. Вам это не нужно.
Ну и еще 1 вопрос публике: лучше РЕЙД10 или РЕЙД15(переплата на 120$ в месяц)?
"Лучше" для чего?
Не бывает лучше сразу для всего.
RAID 1+0 лучше для производительности, RAID 1+5 лучше для кошелька.
Timen, спасибо. Скажите пожалуйста, репликация идет в режиме реал-тайм
Вроде как в реальном времени, не вникал... Мне не критична потеря последних данных (которые не успели записаться на физический диск - речь о данных за 1-2 мин). На практике скажу, что потери были в самом начале, когда, как оказалось, возникли проблемы с БП нового сервера.
Памяти в моих серверах, по 16Гб, БД около 4-5Гб. Сколько точно выделено для виртуалки не знаю, не вникал...
В такой конфиг. работет 2 сервера больше года.
БД крутится очень быстро!