Well I finally got a second webserver and put it into production on the weekend. Along with a serveriron load balancer. The main reason for the upgrade is that i’m fast approaching 64,000 concurrent users and you can only have 64k users per IP. But even when using a load balancer its tricky to set up without running into problems.
I could have just assigned a second IP and added round robin DNS, but this way I’ve got more redundancy and can just swap in more web servers. Also ServerIrons allow some really cool stuff to happen like load balance passed on Cookies, session data, ip data you can even block bots.
Here is another Video panel with startup founders..
June 27, 2007 at 2:00 am |
With all these tough problems you have to deal with Markus, you might be back at that 2 hour per day work load.
You’re not only Guy’s hero my friend.
June 27, 2007 at 5:46 pm |
Markus, you really made come true the revenge of the Nerds…
i can only wish that even more of us join that club… ;D
June 29, 2007 at 9:46 pm |
I’ve done a bit of googling this time. Precisely, the number of simultaneous TCP connections between two given IP addresses has a theoretical limit at 64000.
July 2, 2007 at 4:21 am |
Did you consider using using NLB (Network Load Balancing) that comes with Server 2003?
It essentially does what that SI does but doesnt require any additional hardware! Also, it doesnt add a single point of failure in your network (if that SI goes down, so does both of your web servers)
Just a thought…
July 2, 2007 at 5:20 am |
NLB is useless for persisting sessions. SI does sticky sessions.
64,000 limit also applies when using NAT, ie having a firewall that moves data between a public and private network.
July 3, 2007 at 9:47 pm |
I agree that NLB in of itself wont persist sessions, however, you can store your session state out of process in a medium that is accessible to all servers. This way, all your web servers will be able to access the common storage for the session so it doesnt matter which front-end web server the user is accessing.
I found this approach to be quite cheap (money wise) and very reliable when scaling apps out to many concurrent users. It also removes a single point of failure because if your SI box goes down, so does your entire site.
I usually do things on a shoe-string budget too. I like how you’re getting alot of performance out of a little hardware? Is that because you write out the database stuff to HTML? I do that same technique too.
How does the SI interact with .NET to keep the session?
July 4, 2007 at 1:31 am |
Its hardware based, IP’s are mapped to servers. You can’t do large scale Load balancing with windows, and SI’s can be failed over.
July 4, 2007 at 7:46 pm |
Sure it will scale. You would generally put 8-12 NLB servers in a farm, and then have an unlimited number of farms. You can DNS round-robin between the farms. I’ve used this to scale to over 70 front end web servers supporting over 300,000 concurrent users.
July 4, 2007 at 8:15 pm |
Sure it can be done, but the cost of storing session data and fetching it again is insane, i’d rather just use hardware load balancing and map users to specific servers. And if one of the servers failed they are redirected else where and forced to log in.
At end end of the day, i figured $13k To do it in hardware is a lot cheaper then using NLB and having to worry about storing hundreds of thousands of conncurrent connections.
From what i’ve been reading pretty much all the major sites use Server Irons, Including microsoft. TCP connection pooling, hardware detection of automated bots, cookies etc etc etc. You can basically program the thing like you would a web server. Its very powerful and does a lot more then just load balancing.
July 9, 2007 at 7:18 pm |
NLB can work in that fashion too. There is a ’server affinity’ option that will always map a user to a specific server. Using this you dont have to use an external medium to store session state and so if a specific server fails then the user just looses their session and will have to login again.
Anyways – I love this stuff. If you ever want help developing / running your site please let me know, I’m in Toronto and would love to help out (maybe you want to focus more on growing the business and have someone else look after the tech stuff)
July 18, 2007 at 9:52 pm |
Markus,
Could you please contact me by email, as I have a complain against your website plentyoffish.com being misused.
August 3, 2007 at 10:33 pm |
Hey
I was surfing the web and i saw this site, pretty cool.
Currently im running and adult site:Reachton
k, just want to say hi
Can i link you from my site? im looking for quality content like yours. If no let me know if i can add u in exchange for a montly fee or something.
August 5, 2007 at 4:31 pm |
Hey
I was surfing the web and i saw this site, pretty cool.
Currently im running and adult site:Reachton
k, just want to say hi
Can i link you from my site? im looking for quality content like yours. If no let me know if i can add u in exchange for a montly fee or something.
June 20, 2009 at 7:59 pm |
Hey, cool tips. I’ll buy a bottle of beer to the man from that chat who told me to visit your site
p.s. Year One is already on the Internet and you can watch it for free.