от
В какой момент база данных MySQL начинают терять производительность? Наносит физический размер базы данных имеет значение? Делать количество записей дело? Любая деградация производительности линейный или экспоненциальный? У меня есть то, что я считаю большой базе, с примерно 15М записей, которые занимают почти 2 ГБ. Исходя из этих цифр, есть какой-то стимул для меня, чтобы очистить данные, или я в безопасности, чтобы позволить ему продолжать увеличивать еще на несколько лет?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

15 Ответы

0 голосов
от
В какой момент база данных MySQL начинают терять производительность? Наносит физический размер базы данных имеет значение? Делать количество записей дело? Любая деградация производительности линейный или экспоненциальный? У меня есть то, что я считаю большой базе, с примерно 15М записей, которые занимают почти 2 ГБ. Исходя из этих цифр, есть какой-то стимул для меня, чтобы очистить данные, или я в безопасности, чтобы позволить ему продолжать увеличивать еще на несколько лет?
0 голосов
от
Физический размер базы данных не имеет значения. Количество записей не имеет значения. По моему опыту самая большая проблема, что вы собираетесь запустить в не размер, а количество запросов, которые можно обрабатывать одновременно. Скорее всего, вам придется переехать в конфигурации ведущий-ведомый, так что запросы на чтение могут работать против рабов и запросы писать работать против хозяина. Однако, если вы к этому еще не готовы, вы всегда можете подправить ваши индексы для запросов вы используете, чтобы ускорить время отклика. Также есть множество настроек, вы можете сделать для сетевого стека и ядра Linux, который поможет. У меня было у меня до 10Gb, только умеренное количество подключений и обрабатываются запросы просто отлично. Я бы в первую очередь ориентироваться на ваши цифры, то есть сервер админ посмотри на свою ОС, и если все это не поможет, это может быть время, чтобы реализовать в конфигурации ведущий/ведомый.
0 голосов
от
Вообще это очень тонкий вопрос и не тривиально. Я призываю вас, чтобы прочитать mysqlperformanceblog.com и высокой производительности MySQL. Я действительно думаю, что нет общего ответа на этот вопрос. Я работаю над проектом, который имеет базу данных MySQL с почти 1 Тб данных. Наиболее важным фактором является масштабируемость памяти. Если индексы ваших таблиц помещаются в памяти и запросы оптимизированы, вы можете служить разумные запросы в среднем машина. Количество записей не имеет значения, в зависимости от того, как ваши таблицы выглядят. Это различие, имеют много полей типа varchar или только пару ИНЦ или тоскует. Физический размер имеет значение база данных также резервных копий, например. В зависимости от вашего двигателя, ваш физический файл БД на расти, но не уменьшаться, например с InnoDB. Поэтому удаление большого количества строк, не поможет уменьшить ваши физические файлы. Там много этот вопрос и в большинстве случаев дьявол кроется в деталях.
0 голосов
от
Размер базы данных имеет значение. Если у вас есть более чем одной таблице более миллиона записей, то производительность начинает деградировать. Количество записей, конечно, влияет на производительность: MySQL может быть медленным, с большими таблицами. Если вы попали один миллионов записей вы получите проблемы с производительностью, если индексы не заданы правильно (например, нет индексов для полей В ", где высказывания" или "на условиях" в соединениях). Если вы попали 10 миллионов записей, вы начнете, чтобы получить проблемы с производительностью, даже если у вас все показатели в порядке. Модернизация оборудования - увеличение объема памяти и большей мощности процессора, особенно память - часто помогают уменьшить наиболее серьезных проблем при повторном увеличении производительности, по крайней мере до определенной степени. Например 37 сигналы пошли от 32 ГБ до 128 ГБ памяти для приложение Basecamp сервера базы данных.
0 голосов
от
Я бы в первую очередь ориентироваться на ваши показатели, чем у администратора сервера посмотри на свою ОС, и если все это не поможет, это может быть время для конфигурации ведущий/ведомый. Это правда. Другое дело, что, как правило, работает, чтобы просто уменьшить количество данных, которые неоднократно работали. Если у вас есть "старые данные" и "новые данные" и 99% ваших запросов, работа с новыми данными, просто перенести все старые данные в другую таблицу - и не смотри на него ;) -> Посмотрите на разметку.
0 голосов
от
2 ГБ и около 15 млн записей-это очень маленькая база данных - я гораздо больше на Пентиум III(!) и все еще быстро бегаешь.. если у вас медленный база данных/проблема проектирования приложения, а не СУБД MySQL одна.
0 голосов
от
Это бессмысленно, чтобы говорить о "производительности базы данных", "производительность запросов" - это лучший термин здесь. И ответ таков: это зависит от запроса, данных, которые он работает на, индексы, оборудования и т. д. Вы можете получить представление о том, сколько строк будут отсканированы и какие индексы будут использоваться с объяснить синтаксис. 2 ГБ не считается "большая база" - это больше среднего размера.
0 голосов
от
Также следите за сложных соединений. Сложности сделки может быть большим фактором в дополнение к объему сделки. Рефакторинг тяжелые запросы иногда предлагает большой прирост производительности.
0 голосов
от
Однажды я был призван, чтобы посмотреть на MySQL, который был "перестал работать". Я обнаружил, что файлы БД находятся на сетевое устройство, фильтр, установленный с NFS2 и с максимальным размером файла в 2 ГБ. И действительно, в таблице, которые прекратили прием сделок было ровно 2 ГБ на диске. Но касаемо кривой производительности мне сказали, что он работает как чемпион, пока он не работал вообще! Этот опыт всегда служит для меня хорошим напоминанием о том, что там всегда размеры выше и ниже тот, который вы подумали.
0 голосов
от
Пункт, чтобы рассмотреть является также цель системы и данных в день. Например, для системы с GPS мониторинг автомобилей не соответствующих запроса данных с позиций автомобилей в предыдущие месяцы. Поэтому данные могут быть переданы в другие исторические таблицы за возможные консультации и сократить время выполнения повседневных запросов.
...