Go Back   FlashFXP Forums > > > >

ioFTPD General New releases, comments, questions regarding the latest version of ioFTPD.

Reply
 
Thread Tools Rate Thread Display Modes
Old 06-03-2004, 04:22 PM   #1
darkone
Disabled
FlashFXP Registered User
ioFTPD Administrator
 
darkone's Avatar
 
Join Date: Dec 2001
Posts: 2,230
Default Fooling around

Testing some algorithms for the new core... (fully asynchronous handling of sockets/files/pipes/....)

Single transfer looks something like:

Read
Read
Written
Read
Written
Written
Written
Read
Read
Read
Written
Written
Read
Written
Read
Written
Read
Written
Read
Written
Read
Written
Read

... ordinary file transfer usually looks like:

Read
Write
Read
Write
Read
Write


Advantages? I can disable both socket and file buffers, for maximum scalability & performance. Notice that on large fat32 partitions it will result to worse scalability, because minimum buffer size for unbuffered file reads/writes is size of one cluster. Using 5transfer buffers, means 32kb*5 bytes per filehandle. (it also increases amount of memory copying etc...) => upgrade to ntfs for optimal performance
darkone is offline   Reply With Quote
Old 06-05-2004, 07:48 AM   #2
Luke
Member
 
Join Date: Oct 2003
Posts: 50
Default Done reading yet ?

You done reading yet ?. Can we borrow it ?

:banana:
Luke is offline   Reply With Quote
Old 06-05-2004, 11:46 AM   #3
darkone
Disabled
FlashFXP Registered User
ioFTPD Administrator
 
darkone's Avatar
 
Join Date: Dec 2001
Posts: 2,230
Default

Borrow what? .. I think I missed something Read/write routines for transfering between two handles are nearly complete. I'll start working on adding ssl implementation next week.
darkone is offline   Reply With Quote
Old 06-06-2004, 08:52 PM   #4
darkone
Disabled
FlashFXP Registered User
ioFTPD Administrator
 
darkone's Avatar
 
Join Date: Dec 2001
Posts: 2,230
Default

Whew, I had some serious error in my algortih (something one couldn't even consider as a bug :~) It seems, I was able to resolve it without noticable effect in performance... now each handle uses four locks to guard counters & buffer queues. (and that's a lot... 16bytes of mem )

I did some performance tests with single thread.. and so far, results are far beyond my expecetations:

On 10mb/sec transfer over network results are following:

Wait: 9.48972774seconds Work: 0.43205802seconds

Which leads to theoretical maximum output of: 10mb/sec * 9.48972774secs / 0.43205802seconds = ~210mb/sec on single CPU system... assuming that after bandwidth limits, timeouts, etc. I get even half of the theoretical maximum, it should be breaking the 200mb/sec barrier that I set for my computer.
darkone is offline   Reply With Quote
Reply

Tags
buffers, file, read, write, written

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 10:49 PM.

Parts of this site powered by vBulletin Mods & Addons from DragonByte Technologies Ltd. (Details)