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

Запуск SQL из памяти быстрее SSD?

Недавно у нас возникли проблемы с блокировкой нашей базы данных Oracle по одному известному нам запросу.

Я расскажу о том, что произошло, но на самом деле это не имеет большого отношения к моему вопросу, но я открыт для предложений.

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

Я проверил таблицу, по которой выполняется запрос, и индексы выглядят хорошо.

База данных 60гб там на сервере 32гб.

Из журналов на сервере базы данных я вижу высокий уровень ввода-вывода, но ЦП и ОЗУ остаются прежними.

На сервере приложений загрузка ЦП достигает 75%. Я могу найти рабочий процесс, найти PID, однако, когда я убью PID, связанный с рабочим процессом, ЦП ненадолго отключится, а затем вернется обратно.

Также перезапуск пула приложений и перезапуск IIS делает то же самое: ЦП на короткое время отключается, а затем снова включается.

Единственное, что можно сделать, чтобы вернуть сервер в строй, - это перезапустить.

Итак, мое предложение: ЕСЛИ этот запрос является причиной зависаний, можно ли увеличить память на коробке, чтобы база данных могла кэшироваться и не хватать памяти. Я слышал это однажды, но не уверен, правда ли это.

Хранилище - это HP PAR 3 с 3 уровнями, а база данных в значительной степени находится на уровне SSD.

Что быстрее SSD или память

Что быстрее SSD или память

DRAM быстрее, чем флэш-память NAND. Доступ к ОЗУ составляет порядка 100 нс, а произвольное чтение SSD - около 16000 нс. Цифры задержки, которые должен знать каждый программист

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

К счастью, в СУБД обычно есть инструменты для повышения производительности. Oracle и другие СУБД имеют EXPLAIN PLAN чтобы показать полное сканирование и другие недостатки. Запросы могут ужасно работать даже с индексами. Также существуют отчеты о производительности системы, такие как Oracle AWR, для поиска узких мест. Если вы хотите узнать больше о производительности БД, вы также можете спросить наш дочерний сайт, https://dba.stackexchange.com/