Well, it's been an interesting day here at Computer Learning Zone. And by interesting, I mean one of those days when technology decides to remind you who's really in charge. LOL. Starting this morning, 599cd.com began having intermittent problems. The site would work fine for a few minutes, then slow to a crawl, then come back, then go down again. Some of you probably noticed pages taking forever to load or not loading at all. This went on throughout the day, and just when I thought everything was fixed, something else would go wrong.
At first, I thought it might be a problem with my database server. My website runs on Classic ASP with a SQL Server backend, and I've got a dedicated server through WinHost that's normally rock solid. I've been very happy with their performance and reliability over the years, so this was definitely unusual. I have a special status page that checks different parts of the system independently, and that's where I started looking.
Interestingly, the regular HTML pages were loading just fine, but anything involving ASP or the database was taking 20 to 30 seconds to respond, if it responded at all. Even a simple ASP page that does nothing but display the server's current time was hanging. That told me the problem wasn't necessarily with my database, but something affecting the server's ability to process ASP requests. I opened a support ticket with WinHost, and of course, just as soon as I did, everything started working again. Figures.
While waiting for support, I started digging through my server logs and Cloudflare analytics. That's when I noticed an enormous amount of automated bot traffic crawling through the site, particularly the Access Forums and comment pages. Now, I don't mind legitimate search engines crawling my site. Google, Bing, and other useful search services help people discover my lessons. But some of these other bots were making thousands of requests, sometimes rotating through hundreds of different IP addresses. That's a lot of unnecessary work for a database-driven website.
One particular page, my Comment History page, was getting hammered. It's a paginated list that lets you browse through years of comments, and every page requires database processing. There's really no reason for anonymous visitors or search engines to be crawling through that entire history, so I made that feature available only to logged-in students. That eliminated the expensive comment-history processing for anonymous requests. I also reviewed my Cloudflare security settings, disabled an overly permissive security exception, and worked on tightening up the rules for unwanted crawlers.
Things appeared to improve considerably, and for a little while, I thought we'd found the problem. Not so fast. Later in the afternoon, the site went down again. This time, instead of simply hanging, Cloudflare was displaying a full-blown 522 Connection Timed Out error. That's what happens when Cloudflare can't establish a proper connection with the hosting server. I ran some direct connection tests from my office, bypassing Cloudflare entirely, to see if I could figure out what was happening.
At one point, I could connect directly to the server and get a perfectly normal response from IIS and Classic ASP. A few minutes later, things would stop working again. Eventually, I couldn't even connect through FTP. That's when I started thinking this was something bigger than just my website. Then came the really interesting part: WinHost's own website went down too. Their main domain was displaying the same Cloudflare 522 error that my website was showing.
At that point, it was looking much more like a broader hosting or network issue rather than something specific to my website. I still don't have a confirmed explanation from WinHost, so I don't want to speculate about exactly what failed. Their support team has been investigating, and they've made some improvements to their monitoring so they can hopefully capture better diagnostic information if it happens again. In the meantime, I decided to make one improvement that I've been meaning to do for a long time.
We now have a custom emergency page! Previously, if my hosting server stopped responding, you would see Cloudflare's generic error message. Not particularly helpful, especially if you were trying to figure out whether the problem was on your end or mine. I spent part of the afternoon setting up a separate emergency page hosted directly on Cloudflare, completely independent of WinHost. That means even if my entire hosting provider goes offline, Cloudflare can still display a friendly Computer Learning Zone message explaining that we're experiencing technical difficulties.
The emergency page includes my email address and a link to my YouTube Community page, where I'll post updates whenever there's a significant outage. And here's a nice little touch: the emergency page automatically retries the website every 60 seconds. So if you're waiting for things to come back online, you can leave it open. Once the website is responding normally again, it should take you right back. Hopefully, you won't have to stare at that page very often, but at least now we've got something better than a generic Cloudflare error screen.
If you ever have trouble accessing the website, you can always check my YouTube Community page for the latest updates. That's where I'll post announcements if there's a significant outage. You can also check my Server Status page, which tests the HTML, ASP, database, and backup storage systems independently. Of course, if the entire website is unreachable, YouTube is the better place to look.
As I'm writing this, everything appears to be stable again. The site has been responding normally for a while now, and hopefully it'll stay that way. I also have nightly backups of my website and SQL Server database, additional copies of important data stored locally, and my course files replicated between Wasabi's East and West Coast storage locations. So even in the event of a serious hosting failure, I've got multiple ways to recover my content and data. The biggest inconvenience during an outage is simply that students can't access their lessons until service is restored.
I know how frustrating that can be, especially when you've set aside time to work on a course or finish a project. I sincerely apologize to everyone who was inconvenienced today. I've been very happy with WinHost overall. My dedicated server is fast, reliable, and normally runs without any trouble. An occasional outage is unfortunately part of running anything on the Internet, and today's problems don't change my overall opinion of their service.
The important thing is that we've learned a few things, tightened up some security, and put a better emergency communication system in place for the future. Hopefully, we won't need it again anytime soon. Thanks, everyone, for your patience and understanding. I really appreciate it.
P.S. You know what they say: "The more they overthink the plumbing, the easier it is to stop up the drain." I think Scotty would have had a few choice words about today's engineering problems. LOL.
I couldn't log on to Winhost for the longest time either. Annoying, but these things happen (thankfully not too often).
Kevin Yip
@Reply 34 minutes ago
In the era of land lines and cables, inclement weather would almost always knocked out one or more of our phone, ISP, or ISDN line in our company, which happened at least several times a year. But back then, we weren't so reliant on the Internet, unlike today.
Sorry, only students may add comments.
Click here for more
information on how you can set up an account.
If you are a Visitor, go ahead and post your reply as a
new comment, and we'll move it here for you
once it's approved. Be sure to use the same name and email address.