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

Таблицы PostgreSQL 8.4 перемещены в табличное пространство на твердотельном накопителе, но запись на старый жесткий диск по-прежнему осуществляется со скоростью 4 МБ / с.

Сначала я создал на SSD каталог, принадлежащий postgres, и создал табличное пространство следующим образом:

CREATE TABLESPACE ssd_tablespace LOCATION '/ssd/pgdata';

Я приступил к перемещению важных таблиц и всех индексов на них (это показывает только один раздел, и я также изменил родительскую таблицу):

ALTER TABLE coreg_2010_a SET TABLESPACE ssd_tablespace;
ALTER INDEX coreg_2010_a_pkey SET TABLESPACE ssd_tablespace;
ALTER TABLE visits_2010_a SET TABLESPACE ssd_tablespace;
ALTER INDEX visits_2010_a_pkey SET TABLESPACE ssd_tablespace;

Все операции прошли успешно, и я подтвердил, что табличное пространство настроено в psql. Между перемещаемыми таблицами также есть внешние ключи, но это не индексы, которые можно перемещать.

iostat показывает мне, что у меня есть небольшая активность записи на SSD (хотя и небольшая) через текущий скрипт, который выполняет INSERT операции в таблицы, которые я переместил. Однако подавляющее большинство операций записи по какой-то причине происходит на старом жестком диске (а я пишу только в таблицы в ssd_tablespace). Кроме того, общий размер таблиц с индексами, кажется, превышает пространство, используемое на SSD, хотя я еще не подтвердил это должным образом.

Почему я все еще получаю записи на мой старый жесткий диск, если вставляемые таблицы (и их индексы) были перемещены в новое табличное пространство на новом жестком диске?

Для справки вот что iostat -dxk 5 отображается с интервалом в 5 секунд. /dev/xvde1 это старый жесткий диск, а /dev/xvdc1 SSD связан с ssd_tablespace:

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
xvde1             0.00   486.60  0.00 453.40     0.00  3760.00    16.59     0.85    1.87   1.87  84.72
xvdb1             0.00     1.20  0.00  0.80     0.00     8.00    20.00     0.00    0.00   0.00   0.00
xvdc1             0.00    26.20  0.00 11.20     0.00   149.60    26.71     0.00    0.29   0.14   0.16

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
xvde1             0.00   561.40  0.00 523.60     0.00  4340.00    16.58     0.86    1.65   1.65  86.40
xvdb1             0.00     1.20  0.00  0.60     0.00     7.20    24.00     0.00    0.00   0.00   0.00
xvdc1             0.00    26.20  0.00 13.20     0.00   157.60    23.88     0.02    1.21   0.06   0.08

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
xvde1             0.00   524.80  0.00 489.40     0.00  4056.00    16.58     0.85    1.72   1.73  84.56
xvdb1             0.00     1.00  0.00  2.00     0.00    12.00    12.00     0.00    1.20   0.40   0.08
xvdc1             0.00    24.60  0.00 10.80     0.00   141.60    26.22     0.00    0.07   0.07   0.08

По запросу, вот вывод iostat -dx 5:

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
xvde1             3.00  1078.20 31.40 469.00  2664.00 12379.20    30.06     1.29    2.57   1.46  73.04
xvdb1             0.00     1.00  0.00  0.60     0.00    12.80    21.33     0.00    1.33   1.33   0.08
xvdc1             0.00     7.40  0.00  5.00     0.00    99.20    19.84     0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
xvde1             6.00  1067.60 32.80 425.40  2768.00 11944.00    32.11     1.37    3.00   1.53  70.16
xvdb1             0.00     1.00  0.00  0.60     0.00    12.80    21.33     0.00    0.00   0.00   0.00
xvdc1             0.00     6.80  0.00  6.00     0.00   102.40    17.07     0.00    0.00   0.00   0.00

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