L
Lee Gillie
Seeking some hints from a real framework asynchronous I/O ru of gu.
I am trying to find the absolute fastest way to write binary data to
disk files in VB.NET.
I am working on an FTP server. In my development testing I have found
that I can receive about 60 mbits/sec over the socket data connection
using asynchronous reads, with the file writing disabled. When I try to
incorporate asynchronous disk writing with FileStream it bogs down to
about 4.5 mbits/sec. So I start with only three, but I allocate extra
data buffers as needed to keep feeding the socket reads as fast as the
system will take them, and obviously not reuse the buffers until the
asynchronous disk write completes, and I find my buffer pool grows to
about 250 (i.e. up to 250 pending asynchronous disk writes at any one
moment). I/O buffers are 1K each. File transfers are about 50 MB.
Thanks for any pointers
Best regards - Lee Gillie
I am trying to find the absolute fastest way to write binary data to
disk files in VB.NET.
I am working on an FTP server. In my development testing I have found
that I can receive about 60 mbits/sec over the socket data connection
using asynchronous reads, with the file writing disabled. When I try to
incorporate asynchronous disk writing with FileStream it bogs down to
about 4.5 mbits/sec. So I start with only three, but I allocate extra
data buffers as needed to keep feeding the socket reads as fast as the
system will take them, and obviously not reuse the buffers until the
asynchronous disk write completes, and I find my buffer pool grows to
about 250 (i.e. up to 250 pending asynchronous disk writes at any one
moment). I/O buffers are 1K each. File transfers are about 50 MB.
Thanks for any pointers
Best regards - Lee Gillie