Fri 11 Aug 2006
Включение поддержки NCQ Queing на чипсетах ICH7 Chipsets под Linux
Posted by Scoundrel under Admin-tips ·
Недавно на нескольких из наших серверов, обслуживающих миллионы посещений в сутки, мы достигли предела производительности дисковой подсистемы. Когда я начал анализировать методы, которыми можно исправить ситуацию, я обратил внимание, что на эти сервера имеют чипсеты ICH7 и SATA-диски Seagate с поддержкой NCQ… Но при ближайшем рассмотрении я увидел, что поддержка NCQ не включена на этих серверах с IDE-драйвером ata_piix. Итак, я решил было бы отлично включить поддержку NCQ и взглянуть, как это повлияет на производительность (было очевидно, что она должна увеличиться)…
Беглый поиск показал, что для начала нам необходимо включить режим совместимости AHCI в BIOS сервера для того, чтобы использовать SATA-драйвер ahci из последней версии ядра Linux 2.6. После включения AHCI я увидал в логах сервера следующее:
ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 4 ports 3 Gbps 0xf impl SATA mode ahci 0000:00:1f.2: flags: 64bit ncq pm led clo pio slum part ata1: SATA max UDMA/133 cmd 0xFFFFC20000022500 ctl 0x0 bmdma 0x0 irq 66 ata2: SATA max UDMA/133 cmd 0xFFFFC20000022580 ctl 0x0 bmdma 0x0 irq 66 ata3: SATA max UDMA/133 cmd 0xFFFFC20000022600 ctl 0x0 bmdma 0x0 irq 66 ata4: SATA max UDMA/133 cmd 0xFFFFC20000022680 ctl 0x0 bmdma 0x0 irq 66 scsi0 : ahci ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata1.00: ATA-7, max UDMA/133, 586072368 sectors: LBA48 ata1.00: ata1: dev 0 multi count 16 ata1.00: configured for UDMA/133 scsi1 : ahci ...... Vendor: ATA Model: ST3300622AS Rev: 3.AA Type: Direct-Access ANSI SCSI revision: 05 Vendor: ATA Model: ST3300622AS Rev: 3.AA Type: Direct-Access ANSI SCSI revision: 05 Vendor: ATA Model: ST3300622AS Rev: 3.AA Type: Direct-Access ANSI SCSI revision: 05 Vendor: ATA Model: ST3300622AS Rev: 3.AA Type: Direct-Access ANSI SCSI revision: 05 ......
Как вы видите - ни одного упоминания об NCQ для SATA-дисков не наблюдалось… Но официальная страница библиотеки libata заявляет, что поддержка должна быть там!
Более глубокие исследования показали, сто libata в ядре linux 2.6 не содержит поддержки NCQ для AHCI-чипсетов.
Тогда я решил копнуть глубже и найти вохможность поставить новую версию libata на linux 2.6… К сожалению, официальный сайт libata сожержал только устаревшие патчи для linux 2.6. После долгих поисков я нашел сайт с патчами libata для самого свежего ядра 2.6, который позволял получить последнюю версию библиотеки libata и включить поддержку NCQ на моих дисках! Этот сайт - домашнаяя страница Tejun Heo - Корейского хокера ядра, который поддерживает набор патчей libata-tj-stable.
После применения описанного патча и перезагрузки я с удовлетворением увидел следующие сообщения насчет каналов sata-контроллера:
... ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata1.00: ATA-7, max UDMA/133, 586072368 sectors: LBA48 NCQ (depth 31/32) ata1.00: ata1: dev 0 multi count 16 ata1.00: configured for UDMA/133 ...
Итак, тетерь поддержка NCQ включена на наших дисках и мы получили дополнительные 15-30% дополнительной производительности (я вижу ее на графиках трафика, потому никаких глубоких тестов не проводил - результат оказался очевиден). Итак, если вы имеете ICH-контроллер и хотите получить поддержку NCQ на ваших дисках, попробуйте эти патчи - они действительно стабильны.
- Настройка и оптимизация Red Hat Enterprise Linux для баз данных Oracle 9i и 10g
- RedHat Открыл Доступ к своей Knowledge Base!
- Found an Ideal I/O Scheduler for my MySQL boxes
- Как настроить IP-IP-тунель между FreeBSD и Linux
- 32bit VS 64bit - what do you use?
Add New Comment
Viewing 8 Comments
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Add New Comment
Trackbacks
(Trackback URL)
December 14, 2006 at 12:42 am
[...] On the Intel side a techreport review lists the Intel ICH7R and ICH8R as the only chipsets with ahci ...