You are currently viewing archive for October 2010

October 29, 2010: Don't Partition your InnoDB Tables!

Earlier in this series:
Okay, MySQL. What the hell.
MySQL, what the hell, part 2

Long story short: My MySQL database, supporting a write-heavy, gigabytes-large, partitioned one-file-per-table InnoDB tableset, had a memory leak. It was difficult to find any information about this issue.

In my implentation, I had:
  • MySQL 5.1.50 on Linux 2.6.34.7-56.fc13.x86_64
  • 1 table with 3 million rows, 3 columns, 2 indexes (including primary), 150MB data, 140MB index, 20 partitions by linear key of the first column in the primary key.
  • 1 table with 6 million rows, all unique, 2 columns, 240MB data, 20 partitions by linear key of the first column. Over the course of an hour, this entire table is rewritten (chunks removed, new chunks inserted).
  • 1 table with 110 million rows, 10 columns, 3 indexes (including primary), 7.3GB data, 5.7GB index, 20 partitions by linear key of first column in primary key.
  • 8.0GB of system memory. 6.0GB innodb_buffer_pool_size. innodb_file_per_table=1. 1 hard drive.
  • Constant upserts with uniform frequency, and only 4-5 read connections on average at any given time.

I wrote a script that would watch system memory, and restart mysql when the amount of free RAM (+ buffers/cache) dropped below 256MB. Here's how that looked for the past few days:

Read More »

Category: Technical | Posted by: admin | 1 Comment

October 28, 2010: Because I Can

If, for some reason, you're concerned about such things, you can now visit The Undermine Journal via HTTPS. 256-bit encryption, etc etc. I had the certificate because of Paypal and its transaction notification system, and I figured I might as well make a little more use of it.

No warranties expressed or implied.

Category: General | Posted by: admin | 1 Comment

October 27, 2010: Watch List Format

For the display of the watch list, I'd like to copy most of what we already have on the profession pages. One horizontal line for each item, with the icon, name, qty available, market price, crafting cost, and market price change from yesterday (in gsc and %). I'd like to drop the average price, standard deviation, and 95% CI graph.

Those last 3 items are pretty handy for commodities, IMO, but they take the longest time to calculate since I'm finding the market price for every hour in the past 2 weeks to come up with those numbers. I could compromise and decrease the resolution (so maybe it's every 12 hours for the past week, for example) but I don't know if the loss in accuracy would be too much to bother putting it up at all. Something to think about.

Anyway, Aves commented the following on another post:
I never looked at those values as I they do not mean much to me as a small scale AH player. I only look at the first 4 columns namely availability, mats, price and change. This might be because I usually only buy mats and repost them as crafted items. Columns I find missing are vendor buy and sell prices though.

I am not sure how useful substituting the market prices would be. I think I'll leave this for the rest to comment on or maybe you could do a poll on what kind of information do people really look at when they browse the summary pages and only put up the more 'useful' ones.

One thing I would really like to see for the watchlist(s) though would be

1) Some form of custom organizing (grouping and/or sorting) of the items I put on my watchlist(s). (Yea multiple watchlists would be really awesome, LOL).

2) Some way to adjust the quantity of each item on the list so that the values would be shown this quantity instead of the standard per item values. (Yes some might say I could just use a calculator but having this website is all about making things easier ain't it? :P)


1) I planned on pre-grouping the watchlist based on basic item categories. e.g., all trade goods together, and among trade goods, all ore together, then all herbs together, etc. That way you don't need to micromanage your watch list for it to be usable. Would you still want to move stuff around beyond that? I could do it but it'd be another UI and database hassle to allow users to specify the listing order.

Speaking of which, I'd like to change the order of the items in the groups on the professions pages so they're no longer sorted by difference-from-yesterday, but instead by name or simply price. It'll mix up the reds and greens but I'd like to see them sorted in a more useful manner.

2) I'd really like to stick to the idea of "the price of one", since it's very consistent, but I've compromised on that with the display of stack prices on item pages. Would you want to specify exactly how many of each item you're watching, or would perhaps a one/stack toggle be enough? I don't want it to be confusing, so if I do let you pick a quantity other than 1, then I'd have to show that quantity somewhere, which just adds more stuff.

Any more comments?

Category: General | Posted by: admin | 6 Comments

October 27, 2010: 50 New Realms Added

The top 50 realms voted for inclusion in The Undermine Journal have been added, and should start collecting data around October 27 2:00pm UTC:

Altar of Storms Horde
Arathor Alliance
Arthas Alliance
Azuremyst Alliance
Baelgun Horde
Black Dragonflight Alliance
Burning Blade Alliance
Burning Blade Horde
Daggerspine Horde
Dawnbringer Alliance
Draenor Alliance
Draka Horde
Dunemaul Horde
Emerald Dream Alliance
Emerald Dream Horde
Executus Horde
Feathermoon Alliance
Frostmane Alliance
Frostwolf Alliance
Grizzly Hills Horde
Haomarush Alliance
Icecrown Horde
Kargath Horde
Kel'Thuzad Horde
Kil'Jaeden Alliance
Korgath Horde
Lethon Horde
Madoran Alliance
Moon Guard Horde
Nathrezim Alliance
Norgannon Horde
Saurfang Alliance
Saurfang Horde
Scarlet Crusade Alliance
Scarlet Crusade Horde
Sentinels Alliance
Sentinels Horde
Silvermoon Alliance
Spirestone Horde
Stonemaul Horde
Suramar Horde
Terokkar Alliance
Thorium Brotherhood Horde
Thunderhorn Alliance
Thunderlord Alliance
Tichondrius Horde
Tortheldrin Horde
Trollbane Alliance
Velen Alliance
Velen Horde

Remember, you can vote for your realm once each day. Votes never expire, so vote early and often!

Category: Realms | Posted by: admin | 2 Comments

October 26, 2010: Dollars

Here's a quick update on our budget.

On Oct 3, I "billed" The Undermine Journal for $315. This is half the cost of the dedicated database server I purchased. (Consider the other $315 a donation from me towards the project.) That $315 is well on its way in paying for itself, since we don't need to spend $30/mo per 50 realms for servers at Linode (which in November would have been $180).

Today, the project is about $273 under budget, and at the end of the month when November's bills come in, that drops even lower to $411. Last night I set up a few new crawlers, and I also just today picked up our 6th WoW account, so those numbers will be adjusted again soon. A cheap hobby this isn't. ;) However, compared to some, it's not too bad.

As I add even more realms to our database server, I'll be watching performance closely. I may need to add another 8GB of memory ($140) or another 10k RPM HD ($140), or both, or neither. We'll see.

Soon (within the next few weeks), I'd like to start accepting donations via prepaid WoW cards. That way, if people are uncomfortable using Paypal, they can still donate to the project by sending me an unused 30, 60-, or 90-day game time code which I can use on one of the crawler WoW accounts. I doubt I'll get many (since even a 30-day card is $15 and most donations are $10 or under) but if the option's there, it might be used and any money coming in helps.

Category: Money | Posted by: admin |

October 25, 2010: What's new?

So... new realms tomorrow? How's that sound?

Next thing I code for The Undermine Journal will most likely be the custom watch list for users. Just gotta get in the mood.

Category: General | Posted by: admin | 8 Comments

October 23, 2010: Oh, Bad News! The Dacia Sandero. It's delayed!

I kinda liked my somewhat brilliant idea of tracking sold auctions via wowarmory and greasemonkey. I made some progress today, making it make my own tab, fitting things in.

Then I figured and found out that if you paid the $2.99/mo for the ability to post auctions from the Armory, then you can't get your auction data while you're logged in to WoW. Works great if you didn't pay, but if you did (and I think those who care to track their auctions probably did), then it won't work. And I can see people logging into different toons or otherwise not logging out of WoW and wanting to refresh the sold data on The Undermine Journal.

Ah well, at least I didn't put too much time into it. It wasn't perfect anyway.

Category: General | Posted by: admin | 3 Comments

October 21, 2010: MySQL, what the hell, part 2

Still scratching my head over the mysql memory leak. Wrote a script that does the following every 15 minutes:
  • if we have over 256MB free memory (including buffers/caches), exit
  • Wait for all results parsers to notice us waiting, finish parsing their current result set, and exit
  • set max_connections to 0 to stop any new connections
  • check the processlist every 2 seconds to watch for existing user queries to finish
  • restart mysqld
It's my hope that this controlled demolition will not lose any data, since we shouldn't run out of memory and crash in the middle of a parse. I also hope it will not affect any users, since most page loads finish in under 30 seconds, and I don't have many concurrent connections to begin with. The worst part is the bounce itself takes about 30 seconds, during which time people see chain-reloading pages or something else strange. I think this mysql restart will need to happen every 12-18 hours or so. Ugly, but what can ya do.

So, I think I stumbled on a possible cause for this: InnoDB + Partitioning memory leak. Before I shut down kezans1-4, I partitioned the main innodb tables on kezan0. Why partition, when I already ruled it out a while ago? For starters, back when I tried it last, it was running MyISAM instead of InnoDB. And now I figure I may benefit from partition pruning since almost all queries are realm-specific and ignore most of the data in the table. Plus, if/when I want to get a second HD to improve performance, I think I can shut down the DB, move half the partition files to the other drive, and start things up again without having to wait out a huge partition operation. I think.

Category: Technical | Posted by: admin | 3 Comments

October 20, 2010: Okay, MySQL. What the hell.

The MySQL database on kezan0 likes to chew up memory. This is good, that's all that machine is meant to do.

Then it wants to chew up so much that it goes into swap. This is not good. Swap is slow. I tell it how much memory to use for different things, and that should keep it inside RAM, but it doesn't listen.

So, frustrated, I did something that I knew wouldn't solve the problem, but would make me feel a lot better. I disabled the disk swap, made a 16MB "swap" file on a ramdisk, and pointed to that as our swap file. So, no swap. Ha!

Oct 19, 21:18 UTC: I disable the swap space as I said above, restart mysql.
Oct 20, 16:11 UTC: We run out of memory, mysql crashes, is restarted.

So, what the hell, mysql. I told you how much memory to use. Honestly, you're not serving that many threads at once. So why are you chewing up memory? I know some of my variable assignments are hamfisted but c'mon. Not much else runs on this box (just a couple php scripts to parse incoming data, but no web servers and no desktop GUI). I know it's mysql that's misbehaving b/c when it crashes it's using almost every last bit of memory:
Oct 20 16:11:06 kezan0 kernel: Killed process 31306 (mysqld) vsz:9254404kB, anon-rss:7675656kB, file-rss:0kB
Here's the relevant my.cnf variables. Using mysql 5.1.50. 8GB of RAM.
symbolic-links=0
open-files-limit=4096
innodb_data_home_dir=/var/lib/mysql/innodb
innodb_buffer_pool_size=5120MB
innodb_doublewrite=1
innodb_file_per_table=1
innodb_flush_log_at_trx_commit=0
innodb_lock_wait_timeout=10
innodb_log_buffer_size=4MB
innodb_log_file_size=50MB
table_cache=1000
max_connections=30
sort_buffer_size=262136
innodb_support_xa=0
relay-log=mysqld-relay-bin
replicate-ignore-table=something
replicate-ignore-table=something else
replicate-ignore-db=somewhere
innodb_flush_method=O_DIRECT
bind-address=127.0.0.1
Any tips from the peanut gallery? Any show status variable I can watch?

Category: Technical | Posted by: admin | 5 Comments

October 19, 2010: 51 New Realms Added

The top 50 realms voted for inclusion in The Undermine Journal have been added, and should start collecting data around October 19 11:00am UTC:

Alexstrasza Alliance
Alterac Mountains Alliance
Anvilmar Alliance
Azjol-Nerub Horde
Barthilas Alliance
Barthilas Horde
Blackhand Alliance
Blackwater Raiders Alliance
Bladefist Alliance
Blade's Edge Horde
Bloodscalp Horde
Borean Tundra Horde
Boulderfist Alliance
Cenarius Alliance
Chromaggus Alliance
Dark Iron Horde
Doomhammer Horde
Dragonblight Horde
Dragonmaw Horde
Duskwood Alliance
Eitrigg Alliance
Eldre'Thalas Alliance
Exodar Horde
Frostmane Neutral
Frostmourne Alliance
Garona Horde
Gurubashi Horde
Hyjal Alliance
Kael'Thas Alliance
Kargath Alliance
Khaz'goroth Alliance
Laughing Skull Horde
Lightninghoof Horde
Lothar Alliance
Maelstrom Horde
Malfurion Horde
Moon Guard Alliance
Nazgrel Horde
Ragnaros Alliance
Ravencrest Alliance
Ravenholdt Horde
Sen'jin Alliance
Shadow Council Alliance
Shandris Horde
Steamwheedle Cartel Horde
The Venture Co Horde
Tortheldrin Alliance
Turalyon Horde
Uldum Alliance
Winterhoof Alliance
Zul'jin Alliance

Remember, you can vote for your realm once each day. Votes never expire, so vote early and often!

Category: Realms | Posted by: admin | 2 Comments

October 18, 2010: New Realms Tonight

I got a new WoW account this weekend, activated and everything, and I still haven't made the characters for the next batch of new realms.

I'd like to do that tonight, and I'm posting it here so I don't forget. So, for the rest of you, if you need your realm, vote for it!

Category: Realms | Posted by: admin |

October 15, 2010: Tracking sold items for users

Had a thought: what about tracking stuff you've sold?

It might be handy to see, over the course of a week or a month, what you've sold, when, and for how much, along with the same info for expired auctions. I'm not sure of the best way to show and sort that info (I might have to peek at beancounter and other addons) but I can think of a way to track it.

Greasemonkey script.

The user logs in to The Undermine Journal, and on the user controls page, there's a section for tracking their own auctions. They specify which toons of their own they want to watch, and they get a link to a greasemonkey script which they can install in Firefox or Chrome. All they have to do after that is log in to wowarmory.com every time before they pick up their mail in-game. The script will collect the data and send it to The Undermine Journal automatically.

The only other way to get data about your own auctions is to have some addon and executable setup, but I don't want to get into that coding and security nightmare.

Would you be interested in such a tool? Just login to wowarmory.com every time before you pick up your bank alt's mail. If you have multiple bank/AH alts, you just need to log in to wowarmory.com once before you pick up all their mail. You don't need to pay the $2.99 to Blizzard since they still show you your own auction data; you just need to pay if you want to buy or sell from the browser or mobile device.

Interesting? Clumsy? Any thoughts?

Category: General | Posted by: admin | 7 Comments

October 14, 2010: The Patch & DB Decommissions

After finding an updated MPQ extractor, I now have the DBC files to update the professions and spells for patch 4.0.1. I hope to have those updates live here tonight. I have no idea if Wowhead is serving updated tooltips, but my current update rotation is to have all tooltips updated over a 2-week period, so, yeah.

I just said "update" 6 times in 3 sentences.

The Armory is behaving better than usual as far as auctions go. There are still a lot of "too busy" errors that cause me to pull the page over and over, but at least scans are completing almost all the time.

I moved the Market Notification functions over to the new database (kezan0), and I'm pretty confident that I don't have to nuke it and restart again. I decommissioned databases kezan1-4, which saves us $120 a month. At our current level of service, the new DB server pays for itself after 5 months, but I'll add a 5th WoW account probably this weekend, which cuts down that pays-for-itself time even more.

Kezan0 has been behaving most of the time. CPU load is low and I/O load fluctuates but is still relatively low/normal. Yesterday afternoon, for no apparent reason, mysql got mad and started allocating a lot more memory than expected, which pushed things into swap, ratcheting up I/O load, and generally making a slow mess of things. I dropped the innodb_buffer_pool_size down to 5.5GB on this 8GB box, so, excluding buffers, the whole box is running at 7272MB used out of 7873MB. Why am I missing 319MB from my total memory? Maybe that's the onboard shared video card memory but I thought I limited that to its lowest of 128MB. (I wish I could convince this board to drop it down to a reasonable 4MB, especially since all that video buffer will show is a shell login prompt.) Anyway, steady as she goes. To host the whole US I'm pretty sure I'll need to get another 8GB of memory for $150, and maybe another 10K RPM HD, although I'm not sure how I'd set that up. (Simple RAID 1 mirror? No RAID, but simply partition the heavy tables and stick half of them on the other drive? No idea.)

Category: General | Posted by: admin | 1 Comment

October 12, 2010: Full of Sound and Fury

Lots happened today that amounted to not much as far as users are concerned.

First, this DB server was quick and survived the night. I read some more about innodb indexing, and decided to simplify some indexes to improve performance and save space. I switched the site back over to the old DB VPSes so I could work on kezan0 without messing up production functions. I started the index conversion, and about an hour into it, I decided to cancel it and change even more. So I started it again.

Then a once-every-two-years thunderstorm rolls through my area. Everything's on UPSes, so I usually leave everything turned on during storms and they don't bother me. After a lightning strike, something flashed and popped, and this time, started to smell like the magic smoke had escaped. So I cancel the (now-running-too-long) index conversion, and shut stuff down. Smells like my router fried. Could've been worse. I make dinner and wait for the storm to pass. Later, I swap in a spare router, configure it, and everything else still seems to be working fine. That includes the DSL modem, which, afaik, is the path through which the overload traveled.

While kezan0 was switched off, I took the opportunity to install 4 quiet fans that came in today. Such an improvement in noise pollution.

Since it apparently takes longer to convert a table with data in it than simply wipe it and copy from remote databases, that's what I did. I emptied the auction database on kezan0, made the index changes I wanted, and now I'm copying (for the 4th time?) the data from kezan1-4 to kezan0. At least I got that process pretty efficient by now. :) Hope to have production switched back to kezan0 by around 02:30 UTC.

Category: General | Posted by: admin | 5 Comments

October 10, 2010: Still a little jumpy

I'm sitting in my office here, with the new DB server running next to my dev server. Out of nowhere, I hear a loud muffled "poom!" and see a flash of light against the wall. I start cursing, thinking I lost a major capacitor or something else blew up inside the new machine. I shut everything down, but don't smell any smoke or have any other secondary indication that something went horribly wrong.

Puzzled, I turn stuff back on, check motherboard sensors, and everything seems okay. Hmm. I let it run, worried something will go even more wrong, and wonder what happened.

Hours later, I go into the kitchen, and the microwave clock was reset. "A-ha!", I think, as I check the UPS logs on my dev server. Sure enough, around the time I heard the failure, power flickered. I hadn't noticed because everything in the room is on different UPSes and the overhead light was off due to the window blinds being open. I guess a transformer outside exploded or something on the pole was very unhappy.

Cute.

Category: General | Posted by: admin | 3 Comments

October 08, 2010: Kezan0 Slave can't see Undermine Master

Replication works with Kezan1-4 connecting to undermine. It always has. No issues with replication there.

I set up Kezan0. Kezan0 isn't on the same network. So I set up an SSH tunnel from Kezan0 to undermine that maps the local port 3307 to the remote port 3306. I tell kezan0 that its master is on 127.0.0.1:3307 and it says:

Slave I/O: error connecting to master 'undermine@127.0.0.1:3307' - retry-time: 10 retries: 86400, Error_code: 2003


However, this works as expected, connecting to undermine:

mysql -u undermine -p -P 3307 -h 127.0.0.1


This isn't the "access denied" error you get when you forget to set up a user for replication slave privileges on the master. It's the "OMG I can't even find the server to start talking to it" error. WTF, why can't mysqld talk over the SSH tunnel I set up? This is a common use case that people do, so I know it works in theory. My ducks are in their proper rows. Why won't it connect?

edit Oh, for this duct-taped-together excuse for a database engine... I found this old bug about how mysql slaves can't connect to a master unless it's on port 3306, even if you tell it the correct port for the master. This is the first time I had to connect to the master using a different port, since it's forwarded to a local port and all. I had to do some ugly hackery where the slave DB only listens on 127.0.0.1:3306 instead of all interfaces, and the forwarded port to the master only listens on the 192.168.x.y:3306 interface. This works okay since the outside connections to the slave all go through that same tunnel as well, and that points incoming connections right to 127.0.0.1.

So, to sum up, there may or may not be a bug with mysql listening to a master on a port other than 3306. Once I did ugly tricks to share port 3306 between the two different available interfaces, it magically started working.

Category: Technical | Posted by: admin | 2 Comments

October 07, 2010: New server on schedule

Kezan0 (the new database server) is on schedule. I built the box (which was more nerve-wracking than it used to be), and it's running fine. I have mysql installed and ready, but it's empty until I do the master-to-slave copy tomorrow. I have the persistent SSH tunnel set up, and I have the processes running to pull all new data from the crawlers and the bandwidth usage looks manageable. 197 realms is about 42MB per hour downloaded. 486 realms would be around 30kB per second sustained download just from crawler data, which gives plenty of headroom for a standard DSL connection.

Tomorrow I bring down the site, set up the kezan0 slave by cloning the master data, then copying all the data from the 4 other slaves to kezan0 so it holds all the realms. Then I bring everything back up, and kezan0 will act as a "hot spare" as I observe the load from just keeping that database updated.

Category: Technical | Posted by: admin | 3 Comments

October 06, 2010: Recent Press

Interview at Massively Obsessed (Saate.net)
Market Alerts on Insider Trader from WoW Insider

I wonder when the 3rd issue of the WoW Official Magazine will be released. No wonder print media is dead.

Category: General | Posted by: admin | 2 Comments

October 05, 2010: New Database Server

Soon, I'll build my locally-hosted database server. This will, hopefully, reduce costs while providing a platform for greater realm support and improved performance.

This locally-hosted database thing is very experimental. I'm not a database administrator by training, so the bulk of this upgrade will be "try it and see." I aim to observe the system's behavior and perform the switchover with minimal interruption to the production site.

Assuming things go well, here's the rough timeline of events:

  • Oct 05: Assemble server "kezan0", install Fedora 64-bit, install MySQL, PHP.
  • Oct 06-07: Copy all new incoming auction data to a location where kezan0 can pick it up along with existing slaves. Observe bandwidth usage as auction data for ~200 current realms are sent to kezan0.
  • Oct 08:
    • Stop scans and shut down entire production DB environment.
    • Clone main production DB "undermine" to set up kezan0 as the newest slave DB.
    • Copy and import auction data from 4 existing slave DBs (kezan1-4) to kezan0.
    • Establish persistent secure link between kezan0 and undermine.
    • Restart undermine database, bring up kezan0 slave, restart kezan1-4 slaves. Total production downtime: 1-3 hours.
    • Have kezan0 parse all incoming auction data alongside kezan1-4.
    Kezan0 will now be able to act in a full capacity as the sole auction database but the production website will still refer to kezan1-4 as load tests are performed on kezan0.
  • Oct 09: Observe kezan0 load and performance without any web clients. Perform some internal testing for web performance.
  • Oct 10: Switch production website to use kezan0 instead of kezan1-4. Keep kezan1-4 running and updating their own data.
  • Oct 11-14: Observe production load and performance on kezan0.
  • Oct 15: Shutdown and deprovision kezan1-4 VPSes from Linode.
  • Oct 17: Purchase 5th WoW crawler account, add 50 realms with supporting crawler VPSes.
  • Oct 24: Purchase 6th WoW crawler account, add 50 realms with supporting crawler VPSes.
  • Oct 31: Purchase 7th WoW crawler account, add 50 realms with supporting crawler VPSes.
  • Nov 07: Purchase 8th WoW crawler account, add 50 realms with supporting crawler VPSes.
  • Nov 14: Purchase 9th WoW crawler account, add 50 realms with supporting crawler VPSes.
  • Nov 21: Purchase 10th WoW crawler account, add final 36 realms with supporting crawler VPSes.


Dates are, of course, fuzzy and may get pushed back depending on results from testing. It's my intention to have all realms crawled in The Undermine Journal before the Cataclysm release on December 7th. That would be stunning, don't you think? :)

Let's hope that kezan0 can handle the load of 486 faction auction houses, with an average of 20k auctions each, updated every hour (~10 million auction updates per hour, or 2,700 auctions per second). Eep.

Category: General | Posted by: admin | 3 Comments

October 04, 2010: Response to Feedback

Instead of replying to the number of replies in last week's posts and making a mess of things, I'll throw my responses here.

"where do you prefer suggestions/feature requests to go to? via email or through the comment system?"

Either/or. If it's a quick note, I'm more likely to post a quick response to a devblog comment. I suck at replying to emails sometimes. However, if it's a longer note or if it's not directly related to a devblog post, go ahead and email it, and I'll try to reply in a timely fashion.

"Is there a way to get an rss feed that doesn't contain featured articles?"

For the RSS URL, add &nosyn=1 to the end. That URL will now be shown as another RSS feed option in your browser when you click on the RSS icon in the address bar.

"I'd love to use this feature (market watch), but my realm/faction isn't listed."

"Why bother getting mentioned if you don't support all servers, including other regions (e.g. Europe) you plan to add? People interested would notice your link, click it, find out it's utterly useless for them and forget all about it as if it never existed."

I plan on ramping up realm support significantly in the next few weeks. I'll post details in the next day or two.

I have linked (market watch) to friends as it sounds awesome and in testing it has worked well, however. It De-activates itself after one trigger, ideally there should be a soft cool-down on the notification, a way to define how often it triggers or a hyperlink in the email to re-activate the trigger for common items.

I already responded to this comment but I'll mention it again. I've used the market watch myself and the auto-renew function seems to work reasonably well. Anyone have any comments about the change that fixes this reader's issue? Is it spamming your inbox now? :) Any other tweaking you think it might need? I'm open to suggestions.

Is it possible to make a homepage graph of sorts? So i can define a list of common items I want listed that are on my homepage permanently? One way that could be done is in a single graph which can hold multiple lines for multiple items, that may get messy with alot of items. However, with a couple of items you can see things go up and down and obviously that graph would have to be in percentages to have a common x and y figure.

I do plan on having a user-defined item list, much like the category pages where you can see aggregate stats on a bunch of items at once. In fact, that'll probably be the next major feature I write. I'll look into having graphs along with the list of items.

Category: General | Posted by: admin | 3 Comments

October 01, 2010: 10 New Realms Added

The top 10 realms voted for inclusion in The Undermine Journal have been added, and should start collecting data around October 2 6:00am UTC:

Blade's Edge Alliance
Firetree Horde
Garrosh Alliance
Ghostlands Alliance
Kirin Tor Horde
Mok'Nathal Horde
Perenolde Horde
Shadow Council Horde
Shattered Hand Alliance
Silvermoon Horde

Remember, you can vote for your realm once each day. Votes never expire, so vote early and often!

Category: Realms | Posted by: admin | 1 Comment

October 01, 2010: New DB server on the way!

Just bought the parts for my locally-hosted auction database server. Web and email will remain at linode.

For the curious:
Gigabyte AMD motherboard
AMD Phenom II X4 945 Deneb 3.0GHz 4 x 512KB L2 Cache 6MB L3 Cache Quad Core CPU
Western Digital VelociRaptor 150GB 10000 RPM 16MB Cache HD
Two Corsair 4GB DDR3 sticks (8GB total)
Corsair 650W PSU

Parts will probably get to me on Monday, and I'll stick it in an old case I have. I really wanted to get a new Lian Li case to match my dev server, but that'd be $90 spent for no good reason. Hope to have it running by the end of next week, with it holding all current realms and getting new realm data alongside the current DB slaves as I test it.

Bandwidth requirements are pretty low, coming from measurements I've made on the slave DB nodes I have running now. I'm gonna cheat for a bit and just run the DB server off my home DSL with 200-250 realms for a while, and judge whether to bite the bullet on a dedicated Comcast line after that.

Category: General | Posted by: admin |