Как повысить производительность моего сервера

У меня есть HP Microserver, работающий с Ubuntu 10.04 LTS. Это маломощный сервер с 5 отсеками для внутренних накопителей. Я использую его для резервного копирования моих удаленных серверов, VPS и локальных ноутбуков по сети. Я хочу получить максимальную производительность на дисках, но я не знаю, настроена ли она оптимально, поэтому я ищу несколько советов.

Мой сервер запускает rsnapshot несколько раз в день для резервного копирования удаленных хостов , Фактическая инкрементная часть резервного копирования занимает очень мало времени. Значительное время тратится на такие вещи, как: -

/bin/cp -al /srv/rsnapshot/hourly.0 /srv/rsnapshot/hourly.1

Это занимает около 2 часов. Я понимаю, что там есть огромное количество крошечных файлов.

$ sudo du -hs hourly.1 659G hourly.1

Также, когда rsnapshot удаляет старую резервную копию, это может занять много времени: -

/bin/rm -rf /srv/rsnapshot/daily.6/

Это занимает около получаса.

My вопросы заключаются в следующем: конфигурация сервера и некоторые параметры ввода-вывода подробно описаны ниже. Я могу, конечно, предоставить дополнительную информацию об отладке, если необходимо: -

Как определить, где узкие места?

Как определить, где узкие места?

Есть ли какие-либо улучшения производительности, которые я мог бы сделать?

Есть ли какие-либо улучшения производительности, которые я мог бы сделать?

смысл менять два внутренних диска RAID (половина каждого зеркала) с двумя «другими половинами другого зеркала» на внешнем массиве?

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

Внутренне сервер имеет загрузочный диск SATA 1x160GB и диски 4x2TB: -

Disk /dev/sde: 160.0 GB, 160041885696 bytes Disk /dev/sdf: 2000.4 GB, 2000398934016 bytes Disk /dev/sdh: 2000.4 GB, 2000398934016 bytes Disk /dev/sdi: 2000.4 GB, 2000398934016 bytes Disk /dev/sdg: 2000.4 GB, 2000398934016 bytes

Четыре внутренних диска 2TB находятся в программной настройке MD RAID10: -

md0 : active raid10 sdg1[3] sdh1[0] sdi1[2] sdf1[1] 3907023872 blocks 64K chunks 2 near-copies [4/4] [UUUU]

Кроме того, у меня есть внешний корпус EDGE10, который подключается через PCI-E eSATA-карту и содержит еще четыре диска объемом 500 ГБ: -

Disk /dev/sda: 500.1 GB, 500107862016 bytes Disk /dev/sdb: 500.1 GB, 500107862016 bytes Disk /dev/sdc: 500.1 GB, 500107862016 bytes Disk /dev/sdd: 500.1 GB, 500107862016 bytes

Это также настроено как массив MD RAID10

md1 : active raid10 sdb1[1] sda1[0] sdd1[3] sdc1[2] 976767872 blocks 64K chunks 2 near-copies [4/4] [UUUU]

md0 и md1, которые объединены, чтобы сделать один большой LVM. Примечание: я только недавно добавил внешний массив, поэтому он довольно пуст, я не думаю, что сейчас есть какие-то блоки.

Это представлено как объем LVM: -

--- Logical volume --- LV Name /dev/data/data VG Name data LV UUID amZCgU-sQLi-R363-dUFx-Bcdf-iwlt-ZNnDp8 LV Write Access read/write LV Status available # open 1 LV Size 4.54 TiB Current LE 1190134 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 512 Block device 251:0

Который отформатирован как EXT4 и установлен как / srv: -

/dev/mapper/data-data on /srv type ext4 (rw)

Там много свободного места.

/dev/mapper/data-data 4.5T 2.2T 2.1T 51% /srv

Другая информация, которая может быть полезна : -

$ uname -a Linux ubuntuserver 2.6.32-32-server #62-Ubuntu SMP Wed Apr 20 22:07:43 UTC 2011 x86_64 GNU/Linux

.

00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode] (rev 40) 02:00.0 RAID bus controller: Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller (rev 01)

Выполняя команду cp во время rsnapshot, я вижу следующее в iostat: -

avg-cpu: %user %nice %system %iowait %steal %idle 0.55 0.00 5.47 66.14 0.00 27.85 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sde 0.00 0.00 0.10 0.00 0.80 0.00 8.00 0.00 0.00 0.00 0.00 sdf 0.00 407.50 0.00 66.80 0.00 3790.40 56.74 124.86 1524.88 13.55 90.50 sdh 0.00 406.90 0.00 66.90 0.00 3790.40 56.66 92.89 1230.52 13.21 88.40 sdi 0.00 407.80 5.50 70.20 44.00 3824.00 51.10 113.83 1333.84 12.34 93.40 sdg 0.00 406.80 6.10 71.60 48.80 3827.20 49.88 64.32 787.68 11.69 90.80 md0 0.00 0.00 11.50 1484.60 92.00 11876.80 8.00 0.00 0.00 0.00 0.00 dm-0 0.00 0.00 11.50 1484.70 92.00 11877.60 8.00 5331.18 471.91 0.63 94.70 md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Итак, в основном

Итак, прямо сейчас ящик приостановлен, я приостановил все задания.

avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.00 0.00 0.00 100.00 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sde 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdf 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdi 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Выглядит персиковым!

$ sudo hdparm -T -t /dev/sd[a-i] /dev/sda: Timing cached reads: 2532 MB in 2.00 seconds = 1265.95 MB/sec Timing buffered disk reads: 270 MB in 3.02 seconds = 89.53 MB/sec /dev/sdb: Timing cached reads: 2516 MB in 2.00 seconds = 1258.07 MB/sec Timing buffered disk reads: 264 MB in 3.02 seconds = 87.37 MB/sec /dev/sdc: Timing cached reads: 2442 MB in 2.00 seconds = 1220.80 MB/sec Timing buffered disk reads: 272 MB in 3.00 seconds = 90.60 MB/sec /dev/sdd: Timing cached reads: 2520 MB in 2.00 seconds = 1259.64 MB/sec Timing buffered disk reads: 272 MB in 3.02 seconds = 90.07 MB/sec /dev/sde: Timing cached reads: 2524 MB in 2.00 seconds = 1261.48 MB/sec Timing buffered disk reads: 306 MB in 3.01 seconds = 101.56 MB/sec /dev/sdf: Timing cached reads: 2366 MB in 2.00 seconds = 1183.28 MB/sec Timing buffered disk reads: 388 MB in 3.01 seconds = 128.88 MB/sec /dev/sdg: Timing cached reads: 2536 MB in 2.00 seconds = 1267.52 MB/sec Timing buffered disk reads: 400 MB in 3.00 seconds = 133.12 MB/sec /dev/sdh: Timing cached reads: 2538 MB in 2.00 seconds = 1269.08 MB/sec Timing buffered disk reads: 426 MB in 3.00 seconds = 141.90 MB/sec /dev/sdi: Timing cached reads: 2538 MB in 2.00 seconds = 1268.57 MB/sec Timing buffered disk reads: 402 MB in 3.01 seconds = 133.69 MB/sec
10
задан 16 June 2011 в 23:27

8 ответов

К сожалению, кеш-полоса относится только к RAID5 и 6 - для RAID 0/1/10 нет эквивалента.

Производительность ваших отдельных дисков (согласно hdparm ) выглядит

Мои предложения:

  1. Убедитесь, что AHCI включен в BIOS и что встроенные диски не используют устаревший режим IDE. Существует взломанный BIOS для MicroServer, который также позволяет AHCI для порта eSATA (см. [D0] эту ссылку для получения дополнительной информации). Возможно, стоит исследовать диски во внешнем корпусе, хотя они будут (! d5)
  2. Включить NCQ для всех дисков и посмотреть, не изменит ли это (возможно, это может быть не так).
  3. Убедитесь, что настройки файловой системы оптимизированы (установка noatime, nodiratime). Вы также можете отключить барьеры записи , но это может быть слишком рискованным.
  4. Проверьте, есть ли какая-либо польза от переключения планировщика ввода-вывода (здесь может помочь noop).
  5. Отрегулируйте буфер чтения для обоих устройств md и LVM: blockdev --setra & lt; size & gt; / dev / md1 , например (где & lt; size & gt; - 512-байтовые сектора). Это будет полезно только для чтения.

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

3
ответ дан 25 July 2018 в 21:43

К сожалению, кеш-полоса относится только к RAID5 и 6 - для RAID 0/1/10 нет эквивалента.

Производительность ваших отдельных дисков (в соответствии с hdparm) выглядит хорошо - они все выполняются так, как ожидалось, для дисков этого класса.

Мои предложения:

Убедитесь, что AHCI включен в BIOS и что встроенные диски не используют устаревший режим IDE. Существует взломанный BIOS для MicroServer, который также позволяет AHCI для порта eSATA (см. Эту ссылку для получения дополнительной информации). Возможно, стоит исследовать диски во внешнем корпусе, хотя они все равно будут ограничены тем, что они находятся за мультипликатор порта. Включите NCQ для всех дисков и посмотрите, не изменит ли это (возможно, это может быть не так). Убедитесь, что параметры файловой системы оптимизированы (установка noatime, nodiratime). Вы также можете отключить барьеры записи, но это может быть слишком рискованным. Проверьте, есть ли у вас преимущества при переключении планировщика ввода-вывода (здесь может помочь noop). Отрегулируйте буфер чтения для обоих устройств md и LVM: например, blockdev --setra <size> /dev/md1 (где <size> - 512-байтовые сектора). Это поможет только читать.

Две другие вещи, которые могут повлиять на производительность, - это параметры разбиения на разделы и параметры создания файловой системы (шаг и т. д.), но поскольку вы используете современные инструменты, это не должно быть проблемой.

3
ответ дан 31 July 2018 в 10:57
  • 1
    Добавлены диски hdparm раз, и отредактированы fstab (и перемонтированы), чтобы использовать noatime и nodiratime. Остается 24 часа. – popey 17 June 2011 в 00:30

К сожалению, кеш-полоса относится только к RAID5 и 6 - для RAID 0/1/10 нет эквивалента.

Производительность ваших отдельных дисков (в соответствии с hdparm) выглядит хорошо - они все выполняются так, как ожидалось, для дисков этого класса.

Мои предложения:

Убедитесь, что AHCI включен в BIOS и что встроенные диски не используют устаревший режим IDE. Существует взломанный BIOS для MicroServer, который также позволяет AHCI для порта eSATA (см. Эту ссылку для получения дополнительной информации). Возможно, стоит исследовать диски во внешнем корпусе, хотя они все равно будут ограничены тем, что они находятся за мультипликатор порта. Включите NCQ для всех дисков и посмотрите, не изменит ли это (возможно, это может быть не так). Убедитесь, что параметры файловой системы оптимизированы (установка noatime, nodiratime). Вы также можете отключить барьеры записи, но это может быть слишком рискованным. Проверьте, есть ли у вас преимущества при переключении планировщика ввода-вывода (здесь может помочь noop). Отрегулируйте буфер чтения для обоих устройств md и LVM: например, blockdev --setra <size> /dev/md1 (где <size> - 512-байтовые сектора). Это поможет только читать.

Две другие вещи, которые могут повлиять на производительность, - это параметры разбиения на разделы и параметры создания файловой системы (шаг и т. д.), но поскольку вы используете современные инструменты, это не должно быть проблемой.

3
ответ дан 2 August 2018 в 03:19
  • 1
    Добавлены диски hdparm раз, и отредактированы fstab (и перемонтированы), чтобы использовать noatime и nodiratime. Остается 24 часа. – popey 17 June 2011 в 00:30

К сожалению, кеш-полоса относится только к RAID5 и 6 - для RAID 0/1/10 нет эквивалента.

Производительность ваших отдельных дисков (согласно hdparm ) выглядит

Мои предложения:

  1. Убедитесь, что AHCI включен в BIOS и что встроенные диски не используют устаревший режим IDE. Существует взломанный BIOS для MicroServer, который также позволяет AHCI для порта eSATA (см. [D0] эту ссылку для получения дополнительной информации). Возможно, стоит исследовать диски во внешнем корпусе, хотя они будут (! d5)
  2. Включить NCQ для всех дисков и посмотреть, не изменит ли это (возможно, это может быть не так).
  3. Убедитесь, что настройки файловой системы оптимизированы (установка noatime, nodiratime). Вы также можете отключить барьеры записи , но это может быть слишком рискованным.
  4. Проверьте, есть ли какая-либо польза от переключения планировщика ввода-вывода (здесь может помочь noop).
  5. Отрегулируйте буфер чтения для обоих устройств md и LVM: blockdev --setra & lt; size & gt; / dev / md1 , например (где & lt; size & gt; - 512-байтовые сектора). Это будет полезно только для чтения.

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

3
ответ дан 4 August 2018 в 19:16

К сожалению, кеш-полоса относится только к RAID5 и 6 - для RAID 0/1/10 нет эквивалента.

Производительность ваших отдельных дисков (в соответствии с hdparm) выглядит хорошо - они все выполняются так, как ожидалось, для дисков этого класса.

Мои предложения:

Убедитесь, что AHCI включен в BIOS и что встроенные диски не используют устаревший режим IDE. Существует взломанный BIOS для MicroServer, который также позволяет AHCI для порта eSATA (см. Эту ссылку для получения дополнительной информации). Возможно, стоит исследовать диски во внешнем корпусе, хотя они все равно будут ограничены тем, что они находятся за мультипликатор порта. Включите NCQ для всех дисков и посмотрите, не изменит ли это (возможно, это может быть не так). Убедитесь, что параметры файловой системы оптимизированы (установка noatime, nodiratime). Вы также можете отключить барьеры записи, но это может быть слишком рискованным. Проверьте, есть ли у вас преимущества при переключении планировщика ввода-вывода (здесь может помочь noop). Отрегулируйте буфер чтения для обоих устройств md и LVM: например, blockdev --setra <size> /dev/md1 (где <size> - 512-байтовые сектора). Это поможет только читать.

Две другие вещи, которые могут повлиять на производительность, - это параметры разбиения на разделы и параметры создания файловой системы (шаг и т. д.), но поскольку вы используете современные инструменты, это не должно быть проблемой.

3
ответ дан 6 August 2018 в 03:29
  • 1
    Добавлены диски hdparm раз, и отредактированы fstab (и перемонтированы), чтобы использовать noatime и nodiratime. Остается 24 часа. – popey 17 June 2011 в 00:30

К сожалению, кеш-полоса относится только к RAID5 и 6 - для RAID 0/1/10 нет эквивалента.

Производительность ваших отдельных дисков (согласно hdparm ) выглядит

Мои предложения:

  1. Убедитесь, что AHCI включен в BIOS и что встроенные диски не используют устаревший режим IDE. Существует взломанный BIOS для MicroServer, который также позволяет AHCI для порта eSATA (см. [D0] эту ссылку для получения дополнительной информации). Возможно, стоит исследовать диски во внешнем корпусе, хотя они будут (! d5)
  2. Включить NCQ для всех дисков и посмотреть, не изменит ли это (возможно, это может быть не так).
  3. Убедитесь, что настройки файловой системы оптимизированы (установка noatime, nodiratime). Вы также можете отключить барьеры записи , но это может быть слишком рискованным.
  4. Проверьте, есть ли какая-либо польза от переключения планировщика ввода-вывода (здесь может помочь noop).
  5. Отрегулируйте буфер чтения для обоих устройств md и LVM: blockdev --setra & lt; size & gt; / dev / md1 , например (где & lt; size & gt; - 512-байтовые сектора). Это будет полезно только для чтения.

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

3
ответ дан 7 August 2018 в 21:17

К сожалению, кеш-полоса относится только к RAID5 и 6 - для RAID 0/1/10 нет эквивалента.

Производительность ваших отдельных дисков (согласно hdparm ) выглядит

Мои предложения:

  1. Убедитесь, что AHCI включен в BIOS и что встроенные диски не используют устаревший режим IDE. Существует взломанный BIOS для MicroServer, который также позволяет AHCI для порта eSATA (см. [D0] эту ссылку для получения дополнительной информации). Возможно, стоит исследовать диски во внешнем корпусе, хотя они будут (! d5)
  2. Включить NCQ для всех дисков и посмотреть, не изменит ли это (возможно, это может быть не так).
  3. Убедитесь, что настройки файловой системы оптимизированы (установка noatime, nodiratime). Вы также можете отключить барьеры записи , но это может быть слишком рискованным.
  4. Проверьте, есть ли какая-либо польза от переключения планировщика ввода-вывода (здесь может помочь noop).
  5. Отрегулируйте буфер чтения для обоих устройств md и LVM: blockdev --setra & lt; size & gt; / dev / md1 , например (где & lt; size & gt; - 512-байтовые сектора). Это будет полезно только для чтения.

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

3
ответ дан 10 August 2018 в 09:35

К сожалению, кеш-полоса относится только к RAID5 и 6 - для RAID 0/1/10 нет эквивалента.

Производительность ваших отдельных дисков (согласно hdparm ) выглядит

Мои предложения:

  1. Убедитесь, что AHCI включен в BIOS и что встроенные диски не используют устаревший режим IDE. Существует взломанный BIOS для MicroServer, который также позволяет AHCI для порта eSATA (см. [D0] эту ссылку для получения дополнительной информации). Возможно, стоит исследовать диски во внешнем корпусе, хотя они будут (! d5)
  2. Включить NCQ для всех дисков и посмотреть, не изменит ли это (возможно, это может быть не так).
  3. Убедитесь, что настройки файловой системы оптимизированы (установка noatime, nodiratime). Вы также можете отключить барьеры записи , но это может быть слишком рискованным.
  4. Проверьте, есть ли какая-либо польза от переключения планировщика ввода-вывода (здесь может помочь noop).
  5. Отрегулируйте буфер чтения для обоих устройств md и LVM: blockdev --setra & lt; size & gt; / dev / md1 , например (где & lt; size & gt; - 512-байтовые сектора). Это будет полезно только для чтения.

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

3
ответ дан 13 August 2018 в 15:45
  • 1
    Добавлены диски hdparm раз, и отредактированы fstab (и перемонтированы), чтобы использовать noatime и nodiratime. Остается 24 часа. – popey 17 June 2011 в 00:30

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

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