Chris Johnson wrote:
Hi again. I've scaled everything way back as was suggested. I'm also using a dd file read as a test rather than iozone. I have one brick on the server mounted on the client, that's it. Using time dd I get between 260 to 285 MS to read a 24 MB file. Doing the same thing with NFS I get about 20 to 30 MS less but I can live with that. I tried with and without io-threads on the server end. No noticable change either way. I've read with io-threads is supposed to do. I had 8 threads defined. What does it do and does it make a different which side it's on, client or server?
io-threads is supposed to speed up serving of files when multiple files are requested at the same time (so dd won't trigger any benefits from it at all, being a single request). I.e. In situations on the server where it would be blocking on new requests until finished with the current request, io-threads allows another thread to handle the request for better response and performance (at least that's how I understand it).
As another email a few days ago stated, io-threads on the client side will have little or no effect.
I also tried the io-cache on the client side. MAN does that work. I had a 256 MB cache defind. A reread of my 24 MB file took 72 MS. I don't think it even bothered with the server much. I need to try that on the server. Might help if a bunch of computer nodes hammer on the same file at the same time.
Careful with io-cache and io-threads together, depending on where you define it (I think), the cache is per-thread. so if you have 8 threads and a 256 MB cache defined, be prepared for 2 GB of cache use...
-- -Kevan Benson -A-1 Networks