Mysqld.exe Объем оперативной памяти увеличивается до 130 МБ, а производительность низкая

Я развернул свое приложение с Java 8 и MySQL Server. Во время работы mysqld.exe занимает до 130 МБ ОЗУ и перестает увеличиваться. Но после этого производительность моего приложения очень низкая. Может ли кто-нибудь помочь мне в определении причины этого. Какой фактор увеличивает объем оперативной памяти mysqld.exe и почему мое приложение застревает в базе данных. Заранее спасибо

2 ответа

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

На сегодняшних серверах... если вы жалуетесь на 130 МБ ОЗУ... вам не следует использовать mysql... или ЛЮБОЙ сервер реляционных баз данных. Я построил серверы баз данных, предназначенные для работы "нормально", потребляя более 100 ГБ ОЗУ. Если вы работаете с относительно небольшой базой данных... и чрезвычайно ограниченными ресурсами... попробуйте взглянуть на sqlite3 или что-то на основе файлов без специального процесса, предназначенного для эффективного отслеживания того, что с чем связано. Чрезвычайно ограниченные системные ресурсы также означают, что ваша "производительность" никогда не будет "отличной".

По умолчанию MySQL использует до 128 МБ для буферов InnoDB.

Если у вас есть больше памяти, отредактируйте my.cnf и установить innodb_buffer_pool_size к чему-то большему (например: innodb_buffer_pool_size=512M), затем перезапустите MySQL.

Другие вопросы по тегам