1k+ concurrent connections

D

Diego Bernardes

I have tons of gprs modems that connect at the same port(ex 9000), but
inside our network, every modem should have a unique port so the
applications can talk with they. The application its simple, i get a
connection request, authenticate the request on radius(a authentication
server AAA), if everything allright, i start listening on a random port.
So every application i have can send data to that port, and the modem
can send data back to the application too.

Today i have something like 1k concurrent connections, but i expect that
this number increase alot soon, maybe 3k or even more.... The
application was made in c#, but dosent seam so good, need restart all
day, its slow and so... I need rewrite, and now is my question, what
should i use?


Ruby can handle using some network frakework like eventmachine?
Java? Erlang? C?


Don't know, just need some advice...
 
K

Kirk Haines

Today i have something like 1k concurrent connections, but i expect that
this number increase alot soon, maybe 3k or even more.... The
application was made in c#, but dosent seam so good, need restart all
day, its slow and so... I need rewrite, and now is my question, what
should i use?

You can exceed that 1k connections threshold if you are using
EventMachine on a system that supports epoll (Linux) or kqueue.

EM performance is quite good. Whether the rest of your app would be
fast or not depends on how you write the code, probably. As for what
you should use....use what you are comfortable with. Ruby may or may
not be a good choice. If you are unsure, try to prototype what you
need, and see how well it works, and how you like it.


Kirk Haines
 
G

Guido Stepken

Diego said:
I have tons of gprs modems that connect at the same port(ex 9000), but
inside our network, every modem should have a unique port so the
applications can talk with they. The application its simple, i get a
connection request, authenticate the request on radius(a authentication
server AAA), if everything allright, i start listening on a random port.
So every application i have can send data to that port, and the modem
can send data back to the application too.

Today i have something like 1k concurrent connections, but i expect that
this number increase alot soon, maybe 3k or even more.... The
application was made in c#, but dosent seam so good, need restart all
day, its slow and so... I need rewrite, and now is my question, what
should i use?


Ruby can handle using some network frakework like eventmachine?
Java? Erlang? C?

Use "Stackless Python" on FreeBSD 7.2 (no more giant locks)

Each TCP/IP connection with coroutines consumes less than 300 Byte RAM!!!

No problem to handle +100.000 simultaneous connections saturated up to
bandwidth limit at minimum response times. Check out yourself!

Have fun, Guido Stepken
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,578
Members
45,052
Latest member
LucyCarper

Latest Threads

Top