Медленный доступ к файловой системе

Нисколько.

Одна опция состоит в том, чтобы остановить SQL Server, переместить MDF и файлы LDF, запустить SQL Server, удалить подозреваемого DB, повторно прикрепить файл MDF и надеяться, что Ваш DB все еще работает.

Или восстановите его.

Я не шучу: ACID вызывает откат и не позволит поврежденную таблицу без внешнего вмешательства.

Существует шанс, он мог быть заблокирован по другой причине, но обычно он откатывает транзакцию. Перезапуск SQL Server мог помочь в этом случае, но не происходит, крича, идет ли он не так, как надо :-)

Если это - производство, то ожидайте или удалите/восстановите. Вы не можете сказать, что "Я не забочусь о состоянии таблицы. Просто выход". в производстве...

10
задан 4 September 2012 в 21:10
3 ответа

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

Пожалуйста, проверьте фрагментацию файловой системы XFS. Вы можете сделать это с помощью команды xfs_db . Если файловая система - / dev / sdb1 , например, тогда ваша команда будет выглядеть так:

xfs_db -r -c frag /dev/sdb1

Это выведет коэффициент фрагментации:

actual 66524, ideal 55966, fragmentation factor 15.87%

Вы можете запустить онлайн-утилиту дефрагментации, xfs_fsr -v в сеансе screen , чтобы попытаться исправить это. По умолчанию команда выполняется в течение 2 часов или ДЕСЯТЬ передается через файловую систему. Возможно, вам придется запускать его несколько раз. Проверяйте коэффициент фрагментации между прогонами.

4
ответ дан 2 December 2019 в 22:13

Есть два инструмента, которые вы можете использовать, чтобы увидеть, что происходит на вашем сервере. iostat и iotop , помогут вам найти проблему.

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

iostat
Iostat можно использовать для определения того, какие устройства хранения / памяти замедляют работу вашего сервера. У него хорошая статистика iowait. Как только вы узнаете, какое устройство замедляет работу, вы сможете лучше понять, на чем сосредоточить свое внимание.

$ iostat
Linux 3.2.0-30-generic (aaron-laptop)   11/09/2012  _x86_64_    (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5,83    0,07    3,00    1,81    0,00   89,29

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              20,64       231,97        76,26    1290702     424315

iotop
Отлично подходит для определения того, какие процессы дольше всего ждут завершения ввода-вывода или являются наиболее интенсивными по io.

Total DISK READ:       0.00 B/s | Total DISK WRITE:       9.89 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND          
  349 be/3 root        0.00 B/s 1012.49 B/s  0.00 %  1.79 % [jbd2/sda3-8]
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]

ionice

 ionice --help

ionice - sets or gets process io scheduling class and priority.

Usage:
  ionice [OPTION] -p PID [PID...]
  ionice [OPTION] COMMAND

Options:
  -c, --class    scheduling class name or number
                           0: none, 1: realtime, 2: best-effort, 3: idle
  -n, --classdata  scheduling class data
                           0-7 for realtime and best-effort classes
  -p, --pid=PID         view or modify already running process
  -t, --ignore          ignore failures
  -V, --version         output version information and exit
  -h, --help            display this help and exit

0
ответ дан 2 December 2019 в 22:13

Unix filesystems don't like being full. Try growing the slow filesystem. If that's not possible, try defragging it using xfs_fsr

2
ответ дан 2 December 2019 в 22:13

Теги

Похожие вопросы