On 3/8/18 12:33 PM, William Allen Simpson wrote:
Still having no luck.  Instead of relying on RPC itself, checked
with Ganesha about what it registers, and tried some of those.

Without running Ganesha, rpcinfo reports portmapper services by default
on my machine.  Can talk to it via localhost (but not 127.0.0.1 loopback).

bill@simpson91:~/rdma/build_ganesha$ rpcinfo
   program version netid     address                service    owner
    100000    4    tcp6      ::.0.111               portmapper superuser
    100000    3    tcp6      ::.0.111               portmapper superuser
    100000    4    udp6      ::.0.111               portmapper superuser
    100000    3    udp6      ::.0.111               portmapper superuser
    100000    4    tcp       0.0.0.0.0.111          portmapper superuser
    100000    3    tcp       0.0.0.0.0.111          portmapper superuser
    100000    2    tcp       0.0.0.0.0.111          portmapper superuser
    100000    4    udp       0.0.0.0.0.111          portmapper superuser
    100000    3    udp       0.0.0.0.0.111          portmapper superuser
    100000    2    udp       0.0.0.0.0.111          portmapper superuser
    100000    4    local     /run/rpcbind.sock      portmapper superuser
    100000    3    local     /run/rpcbind.sock      portmapper superuser

TCP works.  UDP with the same parameters hangs forever.

tests/rpcping tcp localhost 1 1000 100000 4
rpcping tcp localhost threads=1 count=1000 (program=100000 version=4 
procedure=0): 50000.0000, total 50000.0000
tests/rpcping tcp localhost 1 10000 100000 4
rpcping tcp localhost threads=1 count=10000 (program=100000 version=4 
procedure=0): 17543.8596, total 17543.8596
tests/rpcping tcp localhost 1 100000 100000 4
^C

What's interesting to me is that 1,000 async calls has much
better throughput (calls per second) than 10,000.  Hard to
say where is the bottleneck without profiling.

100,000 async calls bogs down so long that I gave up.  Same
with 2 threads and 10,000 -- or 3 threads down to 100.

tests/rpcping tcp localhost 2 1000 100000 4
rpcping tcp localhost threads=2 count=1000 (program=100000 version=4 
procedure=0): 8333.3333, total 16666.6667
tests/rpcping tcp localhost 2 10000 100000 4
^C

tests/rpcping tcp localhost 3 1000 100000 4
^C
tests/rpcping tcp localhost 3 500 100000 4
^C
tests/rpcping tcp localhost 3 100 100000 4
rpcping tcp localhost threads=3 count=100 (program=100000 version=4 
procedure=0): 6666.6667, total 20000.0000
tests/rpcping tcp localhost 5 100 100000 4
rpcping tcp localhost threads=5 count=100 (program=100000 version=4 
procedure=0): 10000.0000, total 50000.0000
tests/rpcping tcp localhost 7 100 100000 4
rpcping tcp localhost threads=7 count=100 (program=100000 version=4 
procedure=0): 8571.4286, total 60000.0000
tests/rpcping tcp localhost 10 100 100000 4
rpcping tcp localhost threads=10 count=100 (program=100000 version=4 
procedure=0): 7000.0000, total 70000.0000
tests/rpcping tcp localhost 15 100 100000 4
rpcping tcp localhost threads=15 count=100 (program=100000 version=4 
procedure=0): 5666.6667, total 85000.0000
tests/rpcping tcp localhost 20 100 100000 4
rpcping tcp localhost threads=20 count=100 (program=100000 version=4 
procedure=0): 3750.0000, total 75000.0000
tests/rpcping tcp localhost 25 100 100000 4
rpcping tcp localhost threads=25 count=100 (program=100000 version=4 
procedure=0): 2420.0000, total 60500.0000

Note that 5 threads and 100 catches up to 1 thread and 1,000?

So the bottleneck is probably in ntirpc.  That seems validated by 7 to
25 threads; portmapper will handle more requests (with diminishing
returns), but ntirpc cannot handle more results (on the same thread).

Oh well, against nfs-ganesha still doesn't work.

tests/rpcping tcp localhost 1 10 100003 4
clnt_ncreate failed: RPC: Unknown protocol
tests/rpcping tcp localhost 1 10 100003 3
clnt_ncreate failed: RPC: Unknown protocol

But it's in the rpcinfo:

   program version netid     address                service    owner
    100000    4    tcp6      ::.0.111               portmapper superuser
    100000    3    tcp6      ::.0.111               portmapper superuser
    100000    4    udp6      ::.0.111               portmapper superuser
    100000    3    udp6      ::.0.111               portmapper superuser
    100000    4    tcp       0.0.0.0.0.111          portmapper superuser
    100000    3    tcp       0.0.0.0.0.111          portmapper superuser
    100000    2    tcp       0.0.0.0.0.111          portmapper superuser
    100000    4    udp       0.0.0.0.0.111          portmapper superuser
    100000    3    udp       0.0.0.0.0.111          portmapper superuser
    100000    2    udp       0.0.0.0.0.111          portmapper superuser
    100000    4    local     /run/rpcbind.sock      portmapper superuser
    100000    3    local     /run/rpcbind.sock      portmapper superuser
    100003    3    udp       0.0.0.0.8.1            nfs        superuser
    100003    3    udp6      ::ffff:0.0.0.0.8.1     nfs        superuser
    100003    3    tcp       0.0.0.0.8.1            nfs        superuser
    100003    3    tcp6      ::ffff:0.0.0.0.8.1     nfs        superuser
    100003    4    udp       0.0.0.0.8.1            nfs        superuser
    100003    4    udp6      ::ffff:0.0.0.0.8.1     nfs        superuser
    100003    4    tcp       0.0.0.0.8.1            nfs        superuser
    100003    4    tcp6      ::ffff:0.0.0.0.8.1     nfs        superuser
    100005    1    udp       0.0.0.0.193.2          mountd     superuser
    100005    1    udp6      ::ffff:0.0.0.0.193.2   mountd     superuser
    100005    1    tcp       0.0.0.0.173.189        mountd     superuser
    100005    1    tcp6      ::ffff:0.0.0.0.173.189 mountd     superuser
    100005    3    udp       0.0.0.0.193.2          mountd     superuser
    100005    3    udp6      ::ffff:0.0.0.0.193.2   mountd     superuser
    100005    3    tcp       0.0.0.0.173.189        mountd     superuser
    100005    3    tcp6      ::ffff:0.0.0.0.173.189 mountd     superuser
    100021    4    udp       0.0.0.0.188.141        nlockmgr   superuser
    100021    4    udp6      ::ffff:0.0.0.0.188.141 nlockmgr   superuser
    100021    4    tcp       0.0.0.0.129.57         nlockmgr   superuser
    100021    4    tcp6      ::ffff:0.0.0.0.129.57  nlockmgr   superuser
    100011    1    udp       0.0.0.0.3.107          rquotad    superuser
    100011    1    udp6      ::ffff:0.0.0.0.3.107   rquotad    superuser
    100011    1    tcp       0.0.0.0.3.107          rquotad    superuser
    100011    1    tcp6      ::ffff:0.0.0.0.3.107   rquotad    superuser
    100011    2    udp       0.0.0.0.3.107          rquotad    superuser
    100011    2    udp6      ::ffff:0.0.0.0.3.107   rquotad    superuser
    100011    2    tcp       0.0.0.0.3.107          rquotad    superuser
    100011    2    tcp6      ::ffff:0.0.0.0.3.107   rquotad    superuser

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to