Назад | Перейти на главную страницу

Хостинг MySQL: каковы рекомендуемые спецификации и w

У меня есть два конкретных случая хостинга MySQL.

1) У меня есть случай, когда у меня более 2000 пользователей одновременно работают с одной базой данных MySQL. Это не простые веб-пользователи, а настоящие бизнес-пользователи, которым необходимо подключиться, писать и читать постоянно в течение 8-9 рабочих часов. Какими должны быть спецификации сервера MySQL, т. Е. Процессор, оперативная память, количество процессоров и т. Д.? Будет ли достаточно двух четырехъядерных процессоров Xeon серии 5500? Или я могу использовать Xeon 3400 series ?. Поможет ли дополнительная память? Кто-то предложил кластеризацию! Это необходимо?

2) Мне нужно настроить хостинг для примерно 300 веб-сайтов для клиента. Они ожидают от 3000 до 6000 одновременных пользователей между 300 базами данных MySQL. Какой должна быть идеальная конфигурация сервера, или следует разделить нагрузку на несколько серверов?

3) Помогает ли MySQL добавление дополнительных ядер или важнее необработанная скорость процессора?

Совет добро пожаловать

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

Если под «бизнес-пользователем» вы имеете в виду, что это будет сервер базы данных, поддерживающий внутреннее бизнес-приложение, используемое 2000 пользователями (например, приложение CRM центра обработки вызовов, поддерживающее 2000 рабочих мест, где время отклика критично), то это будет довольно мощная машина с таким объемом оперативной памяти, как вы можете втиснуть, и разумное расположение дисков, вероятно, сработает, но никто не сможет дать конкретный совет с информацией, которую вы дали выше.

Пара плохо написанных запросов в вашем бизнес-приложении или отсутствие обслуживания (индексация, управление хранилищем и т. Д.) И никакая серверная инфраструктура не помогут системе работать хорошо.

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

Вопрос 2 - Отдельные базы данных могут находиться на разных серверах. У нас это было в средах потребительского веб-хостинга, и мы запускали от 150 до 300 баз данных на коробку (стандартные двухпроцессорные DL380, если я помню. Это было несколько лет назад). Базы данных, выполняющие большие объемы, были перемещены в разные коробки в зависимости от нагрузки требования. Как и в случае с любым другим сервером БД, ваши друзья - много оперативной памяти и интеллектуальное управление дисками.

Вопрос 3 - Несколько ядер обеспечивают дополнительную скорость для параллельных запросов, но я помню, что они довольно быстро уменьшали отдачу. Опять же, это зависит от типа запросов и структуры БД. Проще говоря, вероятность того, что обычная база данных OLTP будет связана с ЦП, довольно невелика - обычно она связана с вводом-выводом, и это зависит от того, насколько эффективно ваше кеширование, как вы структурировали диски (отдельные каналы для чтения и записи) и как вы данные сохраняется и извлекается (эффективное индексирование, запросы и т. д.). Если бы мне дали выбор между более быстрым процессором и большим количеством ядер, я бы купил кучу оперативной памяти и тратил большую часть своего времени на то, чтобы мучиться над компоновкой диска :)

изменить: помимо огромного объема материалов и тематических исследований по производительности MySQL, доступных в Интернете, книга High Performance MySQL это неплохая отправная точка ...