Content-type: text/html Set-Cookie: cookiehash=D8TIX1F9GET8DML97LCWDC1UDL31CF7Q; expires=Wed, 18 Mar 2020 00:00:00 GMT; path=/; domain=.drivemeinsane.com
Previous Entry.. Next Entry.. |
March 15, 2004 01:49
First off, the party was canceled, not that it really made much difference, the site was so packed with people who had no idea anyway....
Managed to match the visitor count of last month within the first half of this month, mostly in the last 5 days. It started with a post on i-am-bored.com and cascaded from there. Collegehumor.com brought me over 25000 visits alone. Things were a bit flaky for a while.
The good news is, I needed a nice trial run of the new software changes to Lampmaster. A lot of last minute tweaking was needed, but I think I've finally got it all ironed out. I have now implemented socket queues. The old way would involve receiving a request, processing it and closing the socket all in the same iteration. This works pretty well normally, but on rare occasions the server will accept a connection but get no data from the client. There are any number of reasons why this might happen, and I had it set to automatically drop any connection after 2 seconds, but in 2 seconds, the Lampserver can receive over 100 requests, and each of those requests represent a process on the webserver that is not able to terminate. You can see how this could very quickly get out of hand if even a small number of connections lagged out for some reason.
The new change now involves the server accepting the request and adding the socket handle to a queue. Every iteration through the loop, the socket queue is scanned through looking for a socket that has waiting data. Typically this will occur in less than a millisecond as I'm on the same network, but it might vary. No need to worry now. If there are 50 open sockets and only 1 has data waiting, that one will get serviced and the others will idle waiting, and if no data comes within 10 seconds, they'll get closed out. This has vastly improved the performace of the Lampserver program, and I have yet to have the webserver lock up since. I still have 2 other server programs I'll need to add similar functionality to as they get called almost as frequently. Once this is complete, most of the bottlenecks should be removed. The primary server is an ancient beast, but it doesn't really do a lot of work, even when under heavy load. It can easy handle several times the incoming requests I'm getting now (although my bandwidth probably wouldn't).
Although not really site related, I've made some cosmetic modifications to the house I'm living in. My desk has now been modified so the computer is sitting in the well where I had three of the desk drawers. I drilled a hole in the top of the desk and a hole in the back for all the cables and all that remains now is to make a fake front and add some ventilation. Ventilation at the moment seems reasonable as it's only 2 degrees above room temperature in the back of the cubbyhole now. I've also cleaned up the garage a bit (although more work is still needed). Once that's all done I'll have more space to set up and work on other projects. Once I get the countertops cleaned off, I'll set up a whole hoarde of lamps and other gizmos to play with.
I am still searching for a toy tank that I can modify. Required specifications are that it's slow (less than 1 ft per second), large enough to clear a 4 inch step and also large enough to carry 10 pounds of weight. It obviously also needs to be radio controllable. If you locate any potentially suitable subjects, let me know.