DDOS Attacks & Server Updates

Today, at or around 15:30 GMT, NeoSmart Technologies was victim of a distributed denial of service attack that lasted over two and a half hours. Unfortunately, as a result of the DDOS attack, our server had to be hard-restarted and we encountered some data corruption. All files were recovered with the exception of our MySQL tables for the forum which were completely unusable in the aftermath of the attack; these were restored from the latest backup we had (0200 GMT of June 5th, 2007).

The attack lasted around 3 hours, the recovery process another hour or so. We’re sorry for this downtime and are implementing failsafes that will hopefully protect against data corruption in the future. Luckily, our other data is stored on PostgreSQL (with the exception of this blog, which miraculously survived the ordeal unscathed) which is less prone to data corruption in our experience.

We urge anyone with any information about this attack to come forth, and remind the perpetrators that this is a felony punishable under law.

But at NeoSmart Technologies, we always do try to make the best out of whatever situation we’re in, so we took advantage of the downtime to do some server upgrades we’d been planning for a while:

  • Apache Tomcat (for the Wiki and Bug Tracker) was upgraded to version 6
  • MySQL was upgraded from version 5.1 to version 6.0
  • We upgraded PHP from 5.2.1 to 5.2.3
  • The IIS rewrite module was re-compiled and upgraded
  • Installed an XMPP/Jabber Server
  • Several other script changes

At any rate, hopefully this is like lightning and doesn’t strike the same place twice! We’re still here, and we will be for a very long time to come, God willing of course.

Once more, sorry for the downtime, and to those people who unfortunately had their posts vanished in the forums: our deepest apologies.

How To: Open Source + Windows + IIS… with Stability

As we mentioned back in March, we switched NeoSmart Technologies over from PHP‘s ISAPI extension for Windows/IIS to Microsoft’s “FastCGI for IIS” implementation instead in hopes of achieving better reliability and uptime during times of heavy load.

Whether you like Windows or not, at some point or the other, you may find yourself using IIS 6 or even 7, and then you’ll be wondering why the open source technologies you’re using aren’t as stable as ASP or MSSQL on Windows. However, ever since the release of IIS 6, Microsoft has truly remade Internet Information Services as a real contender in the server market, providing a highly secure, stable, fast, and flexible web server for the masses. IIS 7 (due to ship with Longhorn Server sometime in 2007) is currently showing all the signs of being even better, with complete modularization of all components and a highly extensible, XML-based framework.

We’re really happy to be able to finally say with all conviction that it really works! This week, NeoSmart Technologies was featured on the homepages of many link aggregation sites (including Slashdot) for our Desktop vs. Web RIAs article. And we’re glad to say that even with the extreme load, for the entire past week we’ve had 100.00% uptime with respect to network, IIS, MySQL, and everything else!

Continue reading

MySQLi for WordPress 2.1.x

MySQLi is a “new”1 and improved version of the original MySQL extension for PHP. While there is no especially convincing reason to switch from the original MySQL functions to MySQLi, both MySQL and PHP recommend that developers do so.

WordPress is aimed for the masses and WordPress 2.0 still supports even MySQL 3.x – so most likely we won’t be seeing a switch to a MySQLi-powered WordPress anytime soon. However, for those that care about such things, we’ve created a MySQLi conversion file for WordPress.

Continue reading

  1. It’s been available for years, just no one uses it. 

MySQL on the Fritz

Earlier today (according to UTC at any rate), NeoSmart Technologies had a severe MySQL problem. After some very heavy load on our resource-intensive NST Gallery it seems that MySQL just started coughing up bytes, nuts, and bolts. It’s all fixed now though, and we’re sorry for the downtime.

The reason it took so long is that we decided to “seize the moment” to upgrade MySQL to the new 5.1.x series, and unfortuantely, we ran into a bug that has been in the 5.1.x series for a while that stops InnoDB tables from loading up. We tried to go back to the 5.0.x line, but that didn’t work either. It took a long time to get our binary recovery data from MySQL to another server to get a SQL dump of the data, then completely scrub the main NST server clean of all MySQL residue, then restore the SQL dumps.

Hopefully everything is well now, and we’ve put in some safeguards that should prevent or at least minimize this kind of problem in the future. If you notice anything weird still happening, please do let us know. Some of the symptoms included an inability to view Forum posts, crashes when commenting here on The NeoSmart Files, and some problems in the Gallery. Again, our sincerest apologies for the downtime.