Hi!
Anyone here have advice on distributed nfs benchmarking? I have a netapp GX system, and a few other distributed nfs clusters that I'm trying to figure out how to benchmark. I have a fair number of clients, linux and bsd, and I'm just looking for what others do in this situation. My needs range from HPC type stuff, to just a generic nfs workload for web hosting, do OLTP database on 4 nodes (Oracle 10g RAC).
I know no synthetic benchmark is better then the real application. My group at my company is charged with evaluating storage before we put bother the application guys with running their apps on it.
I've explored iozone, but it seems to only coordinate runs across hosts, I then have to aggregate the data on my own. I'm looking for a more integrated tool. One that I can load the binary on, then start it from a control host, it starts a workload on a list of systems, and they report back to the control host on performance data. Workloads should include lots of small file creates/reads/access/deletes and large file type stuff as well (like iozone).
I'm thinking I'll probably have to task a tools team for this, but I was hoping for something from the OSS community. I'd pay for it as well, but source access would be a nice feature (for my organization, not for me -- it's all moon man language to me).
Any advice is appreciated, and if you reply you may do so off the list. I'll compile my answers, and reply to the list. I'll also document my findings on my storage administration blog, filerjedi.com.
Thanks! -Blake
iozone does yield accurate aggregate numbers with the right option combinations although some of these take a bit of source reading to figure out. Try this for streaming write, read and mixed with full aggregate reporting:
iozone -C -r 32k -s 4G -+m c_list -+B -+T -+n -i0 -i1 -+p 75 -i8 -t 12
where c_list is:
client.hostname1 /working/directory /path/to/iozone/binary client.hostname2 /working/directory /path/to/iozone/binary client.hostname2 /working/directory /path/to/iozone/binary ...
You probably want set the environment variable RSH to 'ssh', or patch the source:
@@ -19974,7 +19984,7 @@ #ifdef _HPUX_SOURCE strcpy(shell,"remsh"); #else - strcpy(shell,"rsh"); + strcpy(shell,"ssh"); #endif return; }
Cheers,
Blake Golliher wrote:
Hi!
Anyone here have advice on distributed nfs benchmarking? I have a netapp GX system, and a few other distributed nfs clusters that I'm trying to figure out how to benchmark. I have a fair number of clients, linux and bsd, and I'm just looking for what others do in this situation. My needs range from HPC type stuff, to just a generic nfs workload for web hosting, do OLTP database on 4 nodes (Oracle 10g RAC).
I know no synthetic benchmark is better then the real application. My group at my company is charged with evaluating storage before we put bother the application guys with running their apps on it.
I've explored iozone, but it seems to only coordinate runs across hosts, I then have to aggregate the data on my own. I'm looking for a more integrated tool. One that I can load the binary on, then start it from a control host, it starts a workload on a list of systems, and they report back to the control host on performance data. Workloads should include lots of small file creates/reads/access/deletes and large file type stuff as well (like iozone).
I'm thinking I'll probably have to task a tools team for this, but I was hoping for something from the OSS community. I'd pay for it as well, but source access would be a nice feature (for my organization, not for me -- it's all moon man language to me).
Any advice is appreciated, and if you reply you may do so off the list. I'll compile my answers, and reply to the list. I'll also document my findings on my storage administration blog, filerjedi.com.
Thanks! -Blake
Blake Golliher wrote:
I've explored iozone, but it seems to only coordinate runs across hosts, I then have to aggregate the data on my own. I'm looking for a more integrated tool. One that I can load the binary on, then start it from a control host, it starts a workload on a list of systems, and they report back to the control host on performance data. Workloads should include lots of small file creates/reads/access/deletes and large file type stuff as well (like iozone).
iometer will do this... you can install the client (dynamo it's called) on a bunch of machines and then control the runs from a central host. works pretty well, though the control GUI thing is Windows only IIRC, though the load generator runs on a few OSes.