For some testing, I'm running an FTP server on my computer. I then connect to that server with a client running on the same computer. When transferring files, it seems to peg out at 35 MB/s. Is there anyway to speed this up? When I tested it using FileZilla FTP Server, I increased the buffer sizes to as far as they could go and performance wasn't affected. IIS transfers at about the same rate pretty consistently...
By the sounds of it, your hard disk is holding you back. The speed cap you're getting already isn't very reflective of a gigabit hardware limitation as 35MB/s == 280Mb/s. By your description, it also sounds like you're reading and writing to the same disk.
Disk benchmarking software can give you a good idea of your hard drive speed, but bear in mind that if you're reading and writing to the same disk with FTP, benchmark results will still be higher than what you'll get with the FTP operations since the software only benchmarks one operation at a time (reading or writing). You can check your read/write speeds of your hard disk using a tool like DiskBench:
In my experience, FTP and HTTP transfers on the same machine are always slow.
It might seem surprising, but if you have good network cards and router, the network speed would be much higher between different computers (!).
It can be, as John T suggested, a problem of the hard disk, since both server and client use it at the same time and so derange the head-placement algorithm of the driver.
However, as write buffers are kept in system memory buffer and not handled immediately, I would also opt for the network implementation of Windows as being an additional bottleneck in this case.