PDA

View Full Version : 2002-2004


darkone
12-31-2003, 04:25 AM
Developement 2002-2003:

ioFTPD project begun on april 2002. I was told, that there is a need for a daemon that could provide gl-like features on windows. I took the challenge alone, as I was eager to learn writing Win32 native code. I had no idea how large project would grow, and how different efficient win32 code is.

Because I lacked prior experience of threading, my first task was to learn primitive use of threads. I chose to use bsd-style sockets for portability, ansi functions, and easy thread-per-client model. Within few weeks, alpha version was ready. It wasn't what I hoped it to be; daemon maxxed 28mb/sec on local transfers - and with dozen of users downloading, it used enormous amount of cpu on lousy 100mbit connection. Idea of writing portable code, had to be buried.

(#ioftpd ~10users, 50kb of code)

For next couple of months I worked on beta1. Beta1 was fully functional daemon, and instead of bsd-style select() it
used non-blocking sockets with event notification. Threading model did not change. Performance for single transfer was somewhat better, but it still wasn't able to serve more than dozen of users. I wasn't satfisfied with it.

(#ioftpd ~30users, ~100kb of code)

Beta2-4 were steps closer to windows native daemon: Memory handling and file io were changed to Win32 API calls. Performance, features
and stability were constantly improved. I spent much time helping out new scripters, learning win32 api commands,
studying new search algorithms and possible threading models. Daemon was nearly fully functional.

(#ioftpd ~100users, ~300kb of code)

Beta4.5 was a giant leap forward. It actually should have been more beta5, or ioFTPD v2. It no longer used inefficient thread per client model. New improved core, was able to handle io for 31 clients per thread, and jobs were performed using worker threads. Single transfer performance remained same, while it was able to server more clients with much improved performance. Beta4.5 was tested with 100clients online, and it peaked over 45mb/sec.

(#ioftpd ~200users, ~800kb of code)

Beta5 is what I first imagined ioFTPD to be. It provides superior performance and scalability on win32 and is more extendable than glftpd. In terms of performance (~80mb/sec) and scalability (1000clients, hundreds of clients per thread), it has very little room for improvements.

(#ioftpd +250users, ~1.1mb of code)


2004?

In the future, focus will be on making suitable for non-warez usage. Following goals are set for 2004:

- Fibers (done)
- Being able to install daemon as service (soon to be)
- Active directory support
- Web administration (documentating work for php developer)
- Unicode (UTC + UTF)
- Ipv6




Thanks?

Once again, I'd like to thank those who have registered. If there weren't you, I doubt there was io either.



Special thanks:

Linkster (web hosting)
ZeroRacer (documentation)
Mouton (www)
Tuff (botnet)
Addict (iogui)



ps. I didn't have time to check grammar.. ;p

Pharaoh
12-31-2003, 07:58 AM
Great post!
Keep up the wonderful work you are doing mate, and so do all the excellent scripters who support and add to this wonderful project! :D

MaistroX
12-31-2003, 08:26 AM
Jupp, GREAT work, keep it up ...as allways.

And a HAPPY NEW YEAR for u D1 and the rest on this Board to aswell ! :)

Jojje
12-31-2003, 07:22 PM
Yeah!!! :banana:
Merry New Year & Happy...
No wait.... :confused:
Happy Merry & New Christmas.
Shit no..... :eek: That aint it.
Uhh, Merry New Happy &......... :rolleyes: ah **** it, u know what I mean...
;)

EwarWoo
01-01-2004, 01:38 AM
Great thread :)
Very interesting to see what happenned before I discoverred ioFTPD. I was a late adapter, didn't find out how great it was 'till 4.9.x, but even since then so much seems to have developped and improved.
Great work scripters and especially D1, will be very interesting to carry on watching what happens (all my sites are slowly going gl, but I'm hooked now so will still be here, watching and playing. heheh).
Have a happy new year everyone :)

wooolF[RM]
01-01-2004, 10:37 PM
Nice thread :) thnx for all developements and best ftpd out there :)

mr_F_2
01-21-2004, 01:11 AM
very interesting :)

thanks for that info, wasa good read and makes me respect you and io all that much more :)

Kid Twilight
02-21-2004, 12:50 PM
Very nice read darkone. Your server is really something you can be proud of!

I found this little tidbt interesting:

it has very little room for improvements.

Unimaginable fantastic goals (and improvements) are always laughed at, at first, untill they become a reality. I remember attending a workshop where impossible goals were set - right up untill someone came up with an idea to realize those goals. I'm sure you will improve this ftp even further than even you first imagined. You've done a helluva job so far. Keep it up!