Concurrency 内核NFS模块是否有并发限制?

Concurrency 内核NFS模块是否有并发限制?,concurrency,io,linux-kernel,nfs,Concurrency,Io,Linux Kernel,Nfs,背景:我在用fio测试nfs服务器。我发现不管Idepth设置为fio多少。nfs服务器在飞行中只能有64个。所以我只是怀疑nfs协议的某些地方限制了运行中的max concurrentmax io fio命令是 fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=write -bs=4k -size=500M -time_based -runtime=90 -name=Fiow -directory=/75 我

背景:我在用fio测试nfs服务器。我发现不管Idepth设置为fio多少。nfs服务器在飞行中只能有64个。所以我只是怀疑nfs协议的某些地方限制了运行中的max concurrentmax io

fio命令是

fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=write -bs=4k -size=500M -time_based -runtime=90 -name=Fiow -directory=/75
我的nfs服务器基于ganesha,并通过使用ganesha_stats.py在飞行中得出结论64

所以我现在有两个选择:

研究调用图并读取代码以发现问题

我下载linux内核代码,但很难做到。我应该从哪个函数/源文件开始,可能是vfs.c:nfsd_write? 尝试使用“perf”跟踪调用图以加快linux内核的代码读取速度,但失败。因为“perf report”显示没有函数名的共享库符号。 学习nfs协议/mount cmd以查找限制


有人能帮我吗

假设您使用的是NFSv4.1:

在NFSv4.1中,未完成请求的数量受插槽表[…]的大小限制

以及:

它是以下各项的默认值:

这方面的IIUC是:

#define NFS4_MAX_SLOT_TABLE (1024U)
module_param(max_session_slots, ushort, 0644);
MODULE_PARM_DESC(max_session_slots, "Maximum number of outstanding NFSv4.1 "
        "requests the client will negotiate");
#define NFS4_MAX_SLOT_TABLE (1024U)