Re: [Nfs-ganesha-devel] nfs ganesha vs nfs kernel performance

2018-02-18 Thread Deepak Jagtap
>> How many clients are you using?  Each client op can only (currently) be 
>> handled in a single thread, and client's won't send more ops until the 
>> current one is ack'd, so Ganesha can basically only parallelize on a 
>> per-client basis at the moment.
>>


>>Actually, 2.6 should handle as many concurrent client requests as you like.
(Up to 250 of them.)  That's one of its features.

< The client is not sending concurrent requests.
   There is only one client with 2 worker threads each worker thread generating 
64 outstanding requests. Configured both servers (knfs & ganesha) with 128 
worker threads.
   I think client is fine  and is sending the request concurrently.  For knfs 
and nfsganesha client is exactly the same, the only change is server exporting 
the directory.

>> I'm sure there are locking issues; so far we've mostly worked on correctness 
>> rather than performance.  2.6 has changed the threading model a fair amount, 
>> and 2.7 will have more improvements, but it's a slow process.
>>
But the planned 2.7 improvements are mostly throughput related, not IOPS.

> On 02/13/2018 06:38 PM, Deepak Jagtap wrote:
>> Yeah user-kernel context switching is definitely adding up latency, but I 
>> wonder ifrpc or some locking overhead is also in the picture.
>>

< ifrpc?
   Sorry typo: ifrpc => 'if rpc'


>> With 70% read 30% random workload nfs ganesha CPU usage was close to 170% 
>> while remaining 2 cores were pretty much unused (~18K IOPS, latency ~8ms)
>>
>> With 100% read 30% random nfs ganesha CPU usage ~250% ( ~50K IOPS, latency 
>> ~2ms).
>>

< Those latency numbers seem suspect to me.  The dominant latency should be
< the file system.  The system calls shouldn't add more than microseconds.

< If Ganesha is adding 6 ms to every read operation, we have a serious
< problem, and need to profile immediately!

Yeah that's right ideally in the end only physical disk IO latency should 
dominate in this complete stack.



From: William Allen Simpson 
Sent: Friday, February 16, 2018 8:23:16 AM
To: d...@redhat.com; Deepak Jagtap; nfs-ganesha-devel@lists.sourceforge.net
Subject: Re: [Nfs-ganesha-devel] nfs ganesha vs nfs kernel performance

On 2/14/18 8:32 AM, Daniel Gryniewicz wrote:
> How many clients are you using?  Each client op can only (currently) be 
> handled in a single thread, and client's won't send more ops until the 
> current one is ack'd, so Ganesha can basically only parallelize on a 
> per-client basis at the moment.
>
Actually, 2.6 should handle as many concurrent client requests as you like.
(Up to 250 of them.)  That's one of its features.

The client is not sending concurrent requests.


> I'm sure there are locking issues; so far we've mostly worked on correctness 
> rather than performance.  2.6 has changed the threading model a fair amount, 
> and 2.7 will have more improvements, but it's a slow process.
>
But the planned 2.7 improvements are mostly throughput related, not IOPS.


> On 02/13/2018 06:38 PM, Deepak Jagtap wrote:
>> Yeah user-kernel context switching is definitely adding up latency, but I 
>> wonder ifrpc or some locking overhead is also in the picture.
>>
ifrpc?


>> With 70% read 30% random workload nfs ganesha CPU usage was close to 170% 
>> while remaining 2 cores were pretty much unused (~18K IOPS, latency ~8ms)
>>
>> With 100% read 30% random nfs ganesha CPU usage ~250% ( ~50K IOPS, latency 
>> ~2ms).
>>
Those latency numbers seem suspect to me.  The dominant latency should be
the file system.  The system calls shouldn't add more than microseconds.

If Ganesha is adding 6 ms to every read operation, we have a serious
problem, and need to profile immediately!
--
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


Re: [Nfs-ganesha-devel] nfs ganesha vs nfs kernel performance

2018-02-15 Thread Deepak Jagtap
Hi Frank, I tried both 2.6 and 2.5-stable. 2.6  showed marginal improvements 
at-least for my workload (improvement of ~1K for 70% read, 30% random workload).

-Deepak


From: Frank Filz 
Sent: Tuesday, February 13, 2018 7:26:50 AM
To: Deepak Jagtap; nfs-ganesha-devel@lists.sourceforge.net
Subject: RE: [Nfs-ganesha-devel] nfs ganesha vs nfs kernel performance


What version are you running? Significant improvements have been made in V2.6 
(which is close to being tagged V2.6.0).



Frank



From: Deepak Jagtap [mailto:deepak.jag...@maxta.com]
Sent: Monday, February 12, 2018 4:01 PM
To: nfs-ganesha-devel@lists.sourceforge.net
Subject: [Nfs-ganesha-devel] nfs ganesha vs nfs kernel performance



Hey Guys,



I ran few performance tests to compare nfs gansha and nfs kernel server and 
noticed significant difference.



Please find my test result:



SSD formated with EXT3 exported using nfs ganesha  : ~18K IOPSAvg latency: 
~8ms   Throughput: ~60MBPS

same directory exported using nfs kernel server: ~75K IOPSAvg 
latency: ~0.8msThroughput: ~300MBPS



nfs kernel and nfs ganesha both of them are configured with 128 worker threads. 
nfs ganesha is configured with VFS FSAL.



Am I missing something major in nfs ganesha config or this is expected behavior.

Appreciate any inputs as how the performance can be improved for nfs ganesha.





Please find following ganesha config file that I am using:



NFS_Core_Param

{

Nb_Worker = 128 ;

}



EXPORT

{

# Export Id (mandatory, each EXPORT must have a unique Export_Id)

   Export_Id = 77;

   # Exported path (mandatory)

   Path = /host/test;

   Protocols = 3;

   # Pseudo Path (required for NFS v4)

   Pseudo = /host/test;

   # Required for access (default is None)

   # Could use CLIENT blocks instead

   Access_Type = RW;

   # Exporting FSAL

   FSAL {

Name = VFS;

   }

   CLIENT

   {

Clients = *;

Squash = None;

Access_Type = RW;

   }

}







Thanks & Regards,

Deepak

[https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif]<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=icon>
Virus-free. 
www.avast.com<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=link>
--
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


Re: [Nfs-ganesha-devel] nfs ganesha vs nfs kernel performance

2018-02-15 Thread Deepak Jagtap
> What is the actual test?

   - nfs server: RHEL based host exporting ext3 formated SSD.

   - nfs client: RHEL based host running windows vm IOmeter with 70% read, 30% 
random workload, 2 worker threads doing IOs with 64 outstanding IO queue depth 
each.


> What are the export options in the knfsd case?

   - I am using this for exporting using knfsd.

 exportfs -oinsecure,rw,sync,no_root_squash,fsid=77 *:/host/test

> Is there any reason you're testing ext3 instead of ext4 or xfs?
   - Not in particular. I could have used ext4.  I was evaluating nfs server 
impact in both scenarios.

>What's the client?  What are the kernel versions on server and client?

   - Both of them are at 3.10.0-693.17.1.el7.x86_64 kernel version


Regards,

Deepak


From: J. Bruce Fields 
Sent: Tuesday, February 13, 2018 11:18:51 AM
To: Deepak Jagtap
Cc: nfs-ganesha-devel@lists.sourceforge.net
Subject: Re: [Nfs-ganesha-devel] nfs ganesha vs nfs kernel performance

On Tue, Feb 13, 2018 at 12:01:04AM +, Deepak Jagtap wrote:
> I ran few performance tests to compare nfs gansha and nfs kernel server and 
> noticed significant difference.

What is the actual test?

What are the export options in the knfsd case?

Is there any reason you're testing ext3 instead of ext4 or xfs?

What's the client?  What are the kernel versions on server and client?

--b.

> Please find my test result:
>
>
> SSD formated with EXT3 exported using nfs ganesha  : ~18K IOPSAvg 
> latency: ~8ms   Throughput: ~60MBPS
>
> same directory exported using nfs kernel server: ~75K IOPSAvg 
> latency: ~0.8msThroughput: ~300MBPS
>
>
> nfs kernel and nfs ganesha both of them are configured with 128 worker 
> threads. nfs ganesha is configured with VFS FSAL.
>
>
> Am I missing something major in nfs ganesha config or this is expected 
> behavior.
>
> Appreciate any inputs as how the performance can be improved for nfs ganesha.
>
>
>
> Please find following ganesha config file that I am using:
>
>
> NFS_Core_Param
> {
> Nb_Worker = 128 ;
> }
>
> EXPORT
> {
> # Export Id (mandatory, each EXPORT must have a unique Export_Id)
>Export_Id = 77;
># Exported path (mandatory)
>Path = /host/test;
>Protocols = 3;
># Pseudo Path (required for NFS v4)
>Pseudo = /host/test;
># Required for access (default is None)
># Could use CLIENT blocks instead
>Access_Type = RW;
># Exporting FSAL
>FSAL {
> Name = VFS;
>}
>CLIENT
>{
> Clients = *;
> Squash = None;
> Access_Type = RW;
>}
> }
>
>
>
>
> Thanks & Regards,
>
> Deepak

> --
> 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

--
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


Re: [Nfs-ganesha-devel] nfs ganesha vs nfs kernel performance

2018-02-13 Thread Deepak Jagtap
Hi Matt,


I am using v2.5-stable branch for this evaluation.


Regards,

Deepak



From: Matt Benjamin 
Sent: Monday, February 12, 2018 8:02:12 PM
To: Deepak Jagtap
Cc: nfs-ganesha-devel@lists.sourceforge.net
Subject: Re: [Nfs-ganesha-devel] nfs ganesha vs nfs kernel performance

Hi Deepak,

There's known knowns and unknown knowns related to nfs-ganesha
performance, including lots of ongoing work.

One of the first things I think we'd like to know is...what version of
the software you're testing.

Matt

On Mon, Feb 12, 2018 at 7:01 PM, Deepak Jagtap  wrote:
> Hey Guys,
>
>
> I ran few performance tests to compare nfs gansha and nfs kernel server and
> noticed significant difference.
>
>
> Please find my test result:
>
>
> SSD formated with EXT3 exported using nfs ganesha  : ~18K IOPSAvg
> latency: ~8ms   Throughput: ~60MBPS
>
> same directory exported using nfs kernel server: ~75K IOPS
> Avg latency: ~0.8msThroughput: ~300MBPS
>
>
> nfs kernel and nfs ganesha both of them are configured with 128 worker
> threads. nfs ganesha is configured with VFS FSAL.
>
>
> Am I missing something major in nfs ganesha config or this is expected
> behavior.
>
> Appreciate any inputs as how the performance can be improved for nfs
> ganesha.
>
>
>
> Please find following ganesha config file that I am using:
>
>
> NFS_Core_Param
> {
> Nb_Worker = 128 ;
> }
>
> EXPORT
> {
> # Export Id (mandatory, each EXPORT must have a unique Export_Id)
>Export_Id = 77;
># Exported path (mandatory)
>Path = /host/test;
>Protocols = 3;
># Pseudo Path (required for NFS v4)
>Pseudo = /host/test;
># Required for access (default is None)
># Could use CLIENT blocks instead
>Access_Type = RW;
># Exporting FSAL
>FSAL {
> Name = VFS;
>}
>CLIENT
>{
> Clients = *;
> Squash = None;
> Access_Type = RW;
>}
> }
>
>
>
> Thanks & Regards,
>
> Deepak
>
>
> --
> 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
>



--

Matt Benjamin
Red Hat, Inc.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://www.redhat.com/en/technologies/storage

tel.  734-821-5101
fax.  734-769-8938
cel.  734-216-5309
--
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


[Nfs-ganesha-devel] nfs ganesha vs nfs kernel performance

2018-02-12 Thread Deepak Jagtap
Hey Guys,


I ran few performance tests to compare nfs gansha and nfs kernel server and 
noticed significant difference.


Please find my test result:


SSD formated with EXT3 exported using nfs ganesha  : ~18K IOPSAvg latency: 
~8ms   Throughput: ~60MBPS

same directory exported using nfs kernel server: ~75K IOPSAvg 
latency: ~0.8msThroughput: ~300MBPS


nfs kernel and nfs ganesha both of them are configured with 128 worker threads. 
nfs ganesha is configured with VFS FSAL.


Am I missing something major in nfs ganesha config or this is expected behavior.

Appreciate any inputs as how the performance can be improved for nfs ganesha.



Please find following ganesha config file that I am using:


NFS_Core_Param
{
Nb_Worker = 128 ;
}

EXPORT
{
# Export Id (mandatory, each EXPORT must have a unique Export_Id)
   Export_Id = 77;
   # Exported path (mandatory)
   Path = /host/test;
   Protocols = 3;
   # Pseudo Path (required for NFS v4)
   Pseudo = /host/test;
   # Required for access (default is None)
   # Could use CLIENT blocks instead
   Access_Type = RW;
   # Exporting FSAL
   FSAL {
Name = VFS;
   }
   CLIENT
   {
Clients = *;
Squash = None;
Access_Type = RW;
   }
}




Thanks & Regards,

Deepak
--
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