LINUX.ORG.RU

Nginx кеширование и неравномерная нагрузка на диски

 , , , ,


0

1

Здравствуйте. Помогите, пожалуйста, со ответом на следующий вопрос или подскажите, куда копать.

Описание проблемы:
Есть сервер с 4-мя одинаковыми SATA-дисками. На одном из них система (/dev/sda), три других просто подмонтированы с теми же параметрами монтирования и файловой системой, что и системный.
Сервер используется как нжинкс-прокси. Кешируемые файлы складываются равномерно на все 4 диска с использованием split_clients.
В итоге, почему-то средняя нагрузка на трех несистемных дисках при этом выше.

Ситуация повторяется и на других серверах с подобными конфигами. Так, на Мунин-графиках ниже приведены два разных сервера, где зеленая кривая нагрузки на /dev/sda заметно ниже других:
https://i.ibb.co/Z1dMNsV/server-01.png
https://i.ibb.co/6ZWpXkx/server-02.png

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

nginx.conf

    split_clients $request_uri $cachedisk {
      25% "cachedisk0";
      25% "cachedisk1";
      25% "cachedisk2";
      *   "cachedisk3";
    }

    proxy_temp_path    /var/www/ram 1 2;
    proxy_cache_path   /var/www/cache/disk0 levels=1:2 keys_zone=cachedisk0:4096m max_size=5100g inactive=1y;
    proxy_cache_path   /var/www/cache/disk1 levels=1:2 keys_zone=cachedisk1:4096m max_size=5100g inactive=1y;
    proxy_cache_path   /var/www/cache/disk2 levels=1:2 keys_zone=cachedisk2:4096m max_size=5100g inactive=1y;
    proxy_cache_path   /var/www/cache/disk3 levels=1:2 keys_zone=cachedisk3:4096m max_size=5100g inactive=1y;

/etc/fstab

/dev/sda3       /       ext4    errors=remount-ro,relatime      0       1
/dev/sda2       /boot   ext4    errors=remount-ro,relatime      0       1
/dev/sda4       swap    swap    defaults        0       0
proc            /proc   proc    defaults                0       0
sysfs           /sys    sysfs   defaults                0       0
/dev/sda1       /boot/efi       vfat    defaults,relatime       0       0
tmpfs           /dev/shm        tmpfs   defaults        0       0
devpts          /dev/pts        devpts  defaults        0       0
tmpfs /var/www/ram tmpfs defaults,nodev,nosuid,size=6G 0 0
/dev/sdb2 /var/www/cache/disk1 ext4 defaults 0 2
/dev/sdc2 /var/www/cache/disk2 ext4 defaults 0 2
/dev/sdd2 /var/www/cache/disk3 ext4 defaults 0 2

fdisk -l

Disk /dev/sda: 5.5 TiB, 6001175126016 bytes, 11721045168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt

Device           Start         End     Sectors  Size Type
/dev/sda1         2048     1048575     1046528  511M EFI System
/dev/sda2      1048576     2095103     1046528  511M Linux filesystem
/dev/sda3      2095104 11719987199 11717892096  5.5T Linux filesystem
/dev/sda4  11719987200 11721033727     1046528  511M Linux swap


Disk /dev/sdb: 5.5 TiB, 6001175126016 bytes, 11721045168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt

Device       Start         End     Sectors  Size Type
/dev/sdb1     2048     1048575     1046528  511M EFI System
/dev/sdb2  1048576 11721045134 11719996559  5.5T Linux filesystem


Disk /dev/sdc: 5.5 TiB, 6001175126016 bytes, 11721045168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt

Device       Start         End     Sectors  Size Type
/dev/sdc1     2048     1048575     1046528  511M EFI System
/dev/sdc2  1048576 11721045134 11719996559  5.5T Linux filesystem


Disk /dev/sdd: 5.5 TiB, 6001175126016 bytes, 11721045168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt

Device       Start         End     Sectors  Size Type
/dev/sdd1     2048     1048575     1046528  511M EFI System
/dev/sdd2  1048576 11721045134 11719996559  5.5T Linux filesystem