Недавно мы перешли на общий ресурс NFS4 для нашего веб-каталога (/ var / www / sites). С тех пор, как переключение произошло ровно через 60 секунд, я наблюдаю снижение пропускной способности подключенного к NFS диска на стороне клиента. Падение ЦП (ожидаются apache / PHP), и я вижу падение нагрузки на сеть. Он длится от 500 мс до 1,5 с. Это происходит ровно каждые 60 секунд.
Я тестировал dd if=/dev/zero of=/mnt/files/samplefile bs=1M count=1024 oflag=direct
и смог увидеть увеличение времени чтения / записи во время одного из 60-секундных падений.
При монтировании NFS я добавил FS-cache, noatime и nodiratime без каких-либо изменений.
/ и т.д. / экспорт
/mnt/files {clientIP} (rw,fsid=0,sync,no_root_squash)
Клиентское крепление
mount -v -t nfs4 {server_ip}:/ /mnt/files -o fsc,noatime,nodiratime
Судя по точному времени отключения, это может быть какая-то настройка и / или неправильная конфигурация.
Будем признательны за любые советы.
Серверная сторона nfsstat:
Server rpc stats:
calls badcalls badfmt badauth badclnt
4066505251 262 22 240 0
Server nfs v3:
null getattr setattr lookup access
8 100% 0 0% 0 0% 0 0% 0 0%
readlink read write create mkdir
0 0% 0 0% 0 0% 0 0% 0 0%
symlink mknod remove rmdir rename
0 0% 0 0% 0 0% 0 0% 0 0%
link readdir readdirplus fsstat fsinfo
0 0% 0 0% 0 0% 0 0% 0 0%
pathconf commit
0 0% 0 0%
Server nfs v4:
null compound
72 0% 4066507670 99%
Server nfs v4 operations (centos 8):
op0-unused op1-unused op2-future access close
0 0% 0 0% 0 0% 187752303 1% 117353691 0%
commit create delegpurge delegreturn getattr
6175 0% 7467 0% 0 0% 36808013 0% 3988907750 31%
getfh link lock lockt locku
20592505 0% 0 0% 1988679 0% 0 0% 1978415 0%
lookup lookup_root nverify open openattr
32913665 0% 0 0% 0 0% 117761749 0% 0 0%
open_conf open_dgrd putfh putpubfh putrootfh
0 0% 24 0% 4050816618 32% 0 0% 328 0%
read readdir readlink remove rename
3970684 0% 1199340 0% 480 0% 181949 0% 18432 0%
renew restorefh savefh secinfo setattr
0 0% 0 0% 18432 0% 0 0% 2287964 0%
setcltid setcltidconf verify write rellockowner
0 0% 0 0% 0 0% 211708 0% 0 0%
bc_ctl bind_conn exchange_id create_ses destroy_ses
0 0% 2 0% 40 0% 46 0% 37 0%
free_stateid getdirdeleg getdevinfo getdevlist layoutcommit
1978400 0% 0 0% 0 0% 0 0% 0 0%
layoutget layoutreturn secinfononam sequence set_ssv
0 0% 0 0% 37 0% 4066651259 32% 0 0%
test_stateid want_deleg destroy_clid reclaim_comp allocate
13642707 0% 0 0% 31 0% 37 0% 0 0%
copy copy_notify deallocate ioadvise layouterror
0 0% 0 0% 0 0% 0 0% 0 0%
layoutstats offloadcancel offloadstatus readplus seek
0 0% 0 0% 0 0% 0 0% 0 0%
write_same
0 0%
Клиентская сторона nfsstat (centos 7):
calls badcalls badclnt badauth xdrcall
0 0 0 0 0
Client rpc stats:
calls retrans authrefrsh
4157327074 6 4157501443
Client nfs v4:
null read write commit open open_conf
0 0% 12539371 0% 2010537 0% 171586 0% 17387625 0% 19761 0%
open_noat open_dgrd close setattr fsinfo renew
117435773 2% 28 0% 134408077 3% 2365580 0% 425 0% 736357 0%
setclntid confirm lock lockt locku access
68577 0% 14 0% 1998403 0% 0 0% 1988136 0% 73334903 1%
getattr lookup lookup_root remove rename link
3686184054 88% 35401700 0% 149 0% 4909916 0% 378484 0% 0 0%
symlink create pathconf statfs readlink readdir
0 0% 15960 0% 276 0% 11593628 0% 490 0% 2002535 0%
server_caps delegreturn getacl setacl fs_locations rel_lkowner
931 0% 36853705 0% 0 0% 0 0% 0 0% 0 0%
secinfo exchange_id create_ses destroy_ses sequence get_lease_t
0 0% 0 0% 31 0% 37 0% 28 0% 16 0%
reclaim_comp layoutget getdevinfo layoutcommit layoutreturn getdevlist
251 0% 28 0% 0 0% 0 0% 0 0% 0 0%
(null)
34 0%
Обновление: просматривая htop на клиенте, я заметил, что когда это происходит, верхний процесс
{NFS-IP}-mana
Каждый раз, когда возникают прерывания, я получаю этот процесс
48800 R ? 00:00:00 [{nfsIP_address}-mana]
48800 R ? 00:00:00 [{nfsIP_address}-mana]
48800 R ? 00:00:00 [{nfsIP_address}-mana]
48800 R ? 00:00:00 [{nfsIP_address}-mana]
48800 R ? 00:00:00 [{nfsIP_address}-mana]
48800 R ? 00:00:00 [{nfsIP_address}-mana]
48800 R ? 00:00:00 [{nfsIP_address}-mana]
48800 R ? 00:00:00 [{nfsIP_address}-mana]
48800 R ? 00:00:01 [{nfsIP_address}-mana]
48800 R ? 00:00:01 [{nfsIP_address}-mana]
48800 R ? 00:00:01 [{nfsIP_address}-mana]
48800 R ? 00:00:01 [{nfsIP_address}-mana]
48800 R ? 00:00:01 [{nfsIP_address}-mana]
48800 R ? 00:00:01 [{nfsIP_address}-mana]
48800 R ? 00:00:01 [{nfsIP_address}-mana]
48800 R ? 00:00:01 [{nfsIP_address}-mana]
48800 R ? 00:00:02 [{nfsIP_address}-mana]
48800 R ? 00:00:02 [{nfsIP_address}-mana]
48800 R ? 00:00:02 [{nfsIP_address}-mana]
48800 R ? 00:00:02 [{nfsIP_address}-mana]