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

12

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

Я расскажу о том, что происходит, но на самом деле не имею ничего общего с моим вопросом, но я открыт для предложений.

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

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

База данных 60 ГБ, на сервере 32 ГБ.

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

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

Кроме того, повторное использование пула приложений и перезапуск IIS делают то же самое, процессор ненадолго отключается, а затем снова начинает работать.

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

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

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

Какой из них быстрее SSD или Memory?

Энтони Форнито
источник

Ответы:

6

Какой из них быстрее SSD или Memory?

DRAM быстрее, чем NAND flash. Доступ к ОЗУ составляет порядка 100 нс, а скорость чтения SSD составляет около 16 000 нс. Число задержек, которое должен знать каждый программист

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

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

Джон Маховальд
источник