I'm sure many - if not all - of you have noticed the ever-increasing lag and hanging on the server. In preparation for the expected new member influx after the launch of the Nintendo 3DS browser, I am doing as many optimizations as I can.
The first major optimization I have put in place is with the Bulletin Boards. These are a popular part of this collection of websites, meaning the related webpages are hit all the time. As more and more threads and posts are added, the server's database has to work harder and harder to retrieve everything for members to view. It was getting so bad that the database would take between .5 and .6 seconds just to show a list of all threads in each forum of the Bulletin Board system. This amount of time led to slowdown server-wide when several members would view the area at once. It would pile up database requests and backlog them. For example, if 5 members wanted to view the Bulletin Boards at once, it could hang everyone and everything 2.5 to 3.0 seconds!
The optimization I put in place is a caching of sorts that keeps track of statistics for each thread and updates them once per hour. This caching takes about 5 seconds to perform, but it cuts each forum load to .03 seconds - about 15 times faster! The side effect of this is that thread information can temporarily be outdated between caches. It seems like a small problem to solve a much bigger one. (From what I have seen, other bulletin board systems use similar methods of lag reduction.)
I've found a few other areas where caching like this can be implemented. I will do so in the coming weeks. Yet, from my tests, this alone seems to solve a great number of lagging issues.
I have made some more tweaks to the BBs that update threads stats on each post or action. Remember that these caches are currently hourly but can be decreased as needed.
I appreciate how you're trying to keep the website running smoothly, but I can't help but think that time could have been better spent. For instance, TMJ hasn't been updated for quite some time. I would really liked to have seen a blog about progress on that subject.
Thanks for reading this opinion.
My take: I really didn't find the website lag to be that significant for it to warrant such inhibiting methods; it seems that general slowdown is being replaced with a more primitive cache system--a form of lag in itself. In other words, not really worth it.
I'm all for website optimization, but just wish it could be done another way.
Ya, most times i get lagged on the chatrooms and post-eat'd but i'm pretty sure thats because of my crappy router. That happens when i'm on my room, its annoying.
I don't use forum too much =T, i don't know why....i do like forums but i don't know why dsipaint's don't catch me, i guess its just me >->
Yeah, long life DSiPaint and welcome to the new upgrades =]
I had at rare moments lag issues, I blame my internet for that. And I check Bulletins rarely so I never noticed anything.
Oh and "after the launch of the Nintendo 3DS browser, I am doing as many optimizations as I can." that counts for the 3DSPaint aswell as DSiPaint, right? And are you doing other optimizations than only reduced lag issues?