WoW.com Crushed PUG Checker

Well, it finally happened. WoW.com made a post about PUG Checker and within an hour of it going live I was banned from accessing Armory data. PUG Checker has been down for the count since about 10 AM this morning and will probably be up and down for the rest of the week or more until I can come up with a caching solution for Armory data.

What Happened?

Contrary to some of the more technically clueless comments on the WoW.com post, I did not run out of bandwidth or have my hosting account shut down. And I don’t host the site on my own personal computer. What caused PUG Checker to break was the fact that I was accessing the Armory for fresh data every time someone looked up a character. If you do that too much, too quickly, the Armory automatically bans your site from accessing the data for a certain amount of time.

So the crash and burn is entirely my fault. I never built a cache of the Armory data in advance because, quite frankly, I have other stuff I’m responsible for that helps me pay the bills and eat on a regular basis that takes priority over a small fan site that I see no significant income from.

What’s Next?

I got some great advice about how I can get PUG Checker back up and running again without future downtime but it’s going to take a lot of work on my part. And right now I’m not too sure how feasible that is going to be. In order to avoid any kind of ban from the Armory I’d need to have what amounts to an entire copy of the Armory’s data on my own server. From what I’ve been told this morning that could take a program that runs non-stop over an entire week to complete. Once that initial copy was made, I could just update characters as they were checked on the site.

I highly, highly doubt at this time that I’ll be going to that extreme to keep the site operational. I’m going to let the traffic tidal wave from the WoW.com link work itself out over the rest of this week and then go from there.

In the meantime I want to apologize for the outage, since it’s 100% my fault, and thank everyone for the nice emails and comments this morning. I appreciate it.

Related posts:

  1. PUG Checker
  2. PUG Checker Works Again
  3. New WoW Project
  4. Big Updates For WoW Headlines
  5. Back From Vacation

13 Comments

Rilnac  on June 1st, 2009

What if you created a version of the site that did the armory query using the end users connection. This way the armory queries would not be coming from your server ip. Not sure what the technical limitations are in setting up something like that, perhaps it would even requires a stand alone app on the user end.

Xillian  on June 1st, 2009

Why not just cache on the fly? It’s not going to be perfect but all you need to do is keep your xml files you pull from the armory in a folder. Then when a request is made, check the date of the file and if its older than the expiration time you want to use, poll the armory and re-download it.

If you can find out the rate limit from Blizzard (I haven’t been able to find anything on this) write your own personal counter to make sure you stay under 90%.

If you’re busy and wouldn’t mind help (again provided its in php) I’d love to lend a hand. I’m sure you can pull my email, drop me a line and I’d love to help.

Nance  on June 1st, 2009

I’m working on that right now, Xillian. The only problem with this method is that it doesn’t solve the downtime caused by the initial rush of traffic. Hopefully I’ll have something working and running before the ban on my IP is lifted by the Armory.

Arabbear  on June 1st, 2009

You might trying a combination of what’s suggest and a queue.

Similar to be.imba. when a person makes a request they sit in a queue, you can set how long it is between each request to wowarmory. ie a request every 5 seconds. once you have it, you can cache it for a period of time.

AllianceGirl (Boombaloo)  on June 1st, 2009

I’m sorry to hear that the site broke. I loved your site and used it when organizing PUG runs on my server (some of my guildmates also used it when they were in charge of pugging 25 mans). I’m glad it was featured, though – because you did such a great job on it. It’s nice for you to get some recognition for your hard work…just sucks that it will require a lot more work on your part to keep it going. :/

else  on June 1st, 2009

memcached.

When you pull from the armory, pop it into memcached. When you look up a character, check the memcache first and only if it’s not cached go to armory. Probably take 5 mins to add this support.

Nance  on June 1st, 2009

I’m not sure a lot of people are understanding the problem here. It’s not that I can’t cache the data (which I am now doing). It’s that the sheer volume of new visitors looking up their characters, which requires a call to the Armory at least once, causes the site to hit the data limit almost immediately.

The site was back up tonight for 3 minutes and went down after 200 people at midnight on a Monday rushed the site looking up their own characters.

The only way to stop this with the traffic at this kind of level is to cache the entire Armory’s data on my own server. I’m not interested in that solution right now.

Alex Ziebart  on June 2nd, 2009

Sorry we brought your site down. :\ We tend to have that effect. I hope you get things back up and running soon!

David  on June 2nd, 2009

How about you need a user to do a look-up?

Just a simple login with some valid-mail check thingy and then give the user a chance to do 5-10 checks each day. That could bring down the traffic pretty much, I guess? And only people who really needs it would use it instead of all the random lookups.

Anyways just a simple suggestion =)

Rahl  on June 3rd, 2009

There is a blogg that mines the armory dor data all the time and he had similar problems to you but he had a workaround.

Hoe this helps

http://flyv.typepad.com/warcraft/

Jederus  on June 3rd, 2009

Sorry to hear about the crash. It was a fantastic resource, hope you can get it working again soon.

Nance  on June 3rd, 2009

The traffic has slowed down enough now that I think things are starting to get under control. The site has been running fine (knock on wood) since midnight on the 1st.

paralax  on August 24th, 2009

Did you find out the rate limits on wowarmory.com? If so, I’d be very interested.

If I keep only 1 concurrent connection it is working fine, but I haven’t tried pushing it yet.

Please email me if you have any more info.

Leave a Comment