You've likely been wondering why the site has been slow the past week. I've been wondering the same.

The Issue

Sluggish performance on the page displaying your past giveaway entries, and more recently, all pages. This seemed to occur primarily during peak hours, but also at what appeared to be random, during off-peak hours as well.

Why Is This Happening?

In short, we don't have enough ram to store our active dataset and indexes, so the site needs to occasionally read from disk. For example, a user attempts to view their giveaway entries from the past. Our server can't hold all of our giveaway entry information in our limited amount of ram, so this information would be read from disk. Scanning hundreds of millions of rows on disk to find the related data for a user is an incredibly slow process, and it might take 30+ seconds, when it should be taking 0.02 seconds if the data was available in ram. This explains why the page displaying your past giveaway entries would take a long time to load if you haven't accessed it in a while, since it would be reading from disk instead of ram.

Now, what about other pages, why has everything been slow lately? Well, the disks are so busy working overtime, trying to read the data for the above user, they're not available for other users browsing the site, and these users are left waiting, and waiting, and potentially timing out. If we had more ram available, the original user would be reading their data directly from ram, and the disks would be free for writes.

Solution

We need to download more ram. Our database server runs 24gb of ram at the moment, and that's far too low for our 60gb of data and indexes. I received a price today for upgrading to 128gb of ram, and we'll soon be going through with those upgrades. However, we need a short term solution so users can continue using the site before that happens. I ended up disabling the page for viewing your past giveaway entries. This keeps the hard drives from being a bottleneck and spending all of their time reading that information for a small number of users, when they need to focus on writes to the database for everyone else. It's peak hours right now, and you should notice the site being quite responsive, so I think this solution will work well until the ram upgrade.

Edit: The entered giveaway page will now show 100 of your past entries, in descending order. For performance reasons, this is the only way the results can be ordered and displayed until the server is upgraded, and full functionality can be restored.

8 years ago*

Comment has been collapsed.

thanks for info. The list is sorted chaotically. would like the old version of the sort already entered and finished.

8 years ago
Permalink

Comment has been collapsed.

Thanks for the updates. Knowing is better than not knowing. Fewer needless posts from members, questioning what's up with the site.

8 years ago
Permalink

Comment has been collapsed.

Understood, cap'n!

8 years ago
Permalink

Comment has been collapsed.

Thank you for doing the hard job and thank you for keeping us updated on Steam group page :)

8 years ago
Permalink

Comment has been collapsed.

Surprising that SG only ran on 24 GB RAM machine(s). My company servers are running on 128 GB from the get-go, to serve 120 GB (combined) SQL server databases. I'm considering on doubling the RAM already, as it's the cheapest component to upgrade.

8 years ago
Permalink

Comment has been collapsed.

Thank you for letting us know! We appreciate your hard work in running this site!

8 years ago
Permalink

Comment has been collapsed.

Out of curiosity, what type of database are you using? Throwing more ram is always a useful solution, but in the meantime, have you looked into other partitioning/indexing/caching methods? I'm not an expert a transactional data models, but in my experience there are always improvements that can be made.

Most modern columnar databases, like Greenplum, partition and queries data intelligently. Greenplum might be overkill here, but there might be free/cheap alternatives. If space is cheaper than ram, denormalization and partitions make for very quick queries.

8 years ago
Permalink

Comment has been collapsed.

omg

8 years ago
Permalink

Comment has been collapsed.

you guys look at your indexes in the database?

8 years ago
Permalink

Comment has been collapsed.

Is there any way you can order the 100 entries to be listed in order from expiring soonest to latest?

Not sure how others feel, but ordering this way is more useful as it helps me double check whether I want to remove my entries from expiring giveaways. I don't think ordering by entry date has any applicable purpose.

8 years ago
Permalink

Comment has been collapsed.

+1
i thought it wouldn't be a big deal for a few days, but if the update is going to be much longer, sorted by time remaining is the most useful for me too.

8 years ago
Permalink

Comment has been collapsed.

+2

8 years ago
Permalink

Comment has been collapsed.

Awesome :) Glad to hear you are keeping us in the loop! Good luck with the upgrade!

8 years ago
Permalink

Comment has been collapsed.

Last 100 entries is more then enough ^^ only thing I miss are notifications I feel lonely without my inbox not flashing :/

8 years ago
Permalink

Comment has been collapsed.

thank you very much!

8 years ago
Permalink

Comment has been collapsed.

Any information about when the entered giveaways page will be back to normal? One very useful feature is that with the full functionality you can search your entered giveaways for a certain game and see what entries you have in active giveaways for that game. That becomes very useful if you win or purchase a game you're in several active giveaways for, especially hidden/invite only giveaways.

When I win or buy a game I always check for active entries that way, and remove them, so I won't end up winning something already in my library. That way the giveaway creator won't have to deal with rerolls.

Edit: I assumed that the server upgrade had already been done (and that the upgrade was one of the reasons for the previous downtime). I'll have some patience ;)

Nice that SG is up and running again and that the previous performance issues are gone.

8 years ago*
Permalink

Comment has been collapsed.

This is the same thing I was thinking about too, but I guess getting this "back to normal" is highly reliant on the server upgrade. If there is any estimate when the server should be upgraded, that will probably answer the question when the site gets back to its normal functionality.

8 years ago
Permalink

Comment has been collapsed.

Ah, I was under the impression that the server got upgraded during the downtime. My mistake.

8 years ago
Permalink

Comment has been collapsed.

From what I understood, the downtime was due to high website traffic and the hosting company cut off Steamgifts from the internet so the administrator had to communicate that issue through with the hosting company and it was practically a coincidence. Server upgrade is required due to low amount of ram reserved for Steamgifts and really high traffic on the website which the current hardware can't handle well with the standard Steamgifts functionality enabled, so the administrator is looking for solution to both upgrade the server to get bigger ram and also looking for a new hosting company to ensure that such unexpected event as a forced downtime will not happen in the future.

8 years ago
Permalink

Comment has been collapsed.

Thanks for the clarification. Don't know from where I got that the downtime was due to the upgrade, I know I saw about the hosting company cutting the access, but I thought that it was just a coincidence that it happened at the same time as "the upgrade" (which I assumed was the original cause of the downtime).

Just happy SG is up again, it's highly addictive ;)

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 8 years ago.

8 years ago
Permalink

Comment has been collapsed.

Agreed.
Unless folks are spamming entries left and right, 100 entries displayed should cover all the ones entered that are still open.

8 years ago
Permalink

Comment has been collapsed.

It seems like I enter a bit above 10 giveaways/day on average, so the 100 latest entries reaches giveaways entered a bit over a week away, but not further. I know I've solved puzzles where the giveaways run for 2-3 weeks, and those giveaways are currently not accessible unless I find and re-solve the puzzle.

In the off chance I would win an invite only giveaway I entered more than a week ago, but already got elsewhere (other win or purchase), it can of course be solved with a reroll.

8 years ago*
Permalink

Comment has been collapsed.

Well, yours is an exception case i believe, and like you said, worst case scenario, can be resolved with a reroll. :)
Sadly, compromise has to be made somewhere, given the unfortunate turn of events.
Let's just hope cg manages to deal with this to the best of his ability as soon as he can.

8 years ago
Permalink

Comment has been collapsed.

cg, may be show only not ended giveaways?

8 years ago
Permalink

Comment has been collapsed.

no more total entries display :c

8 years ago
Permalink

Comment has been collapsed.

When will the server upgrade?

8 years ago
Permalink

Comment has been collapsed.

I just won a game I don't want, because the list shows GAs that end in 2 weeks and those that end in 1 day are not shown, so I couldn't leave the GA :-/

The list should include GAs about to end first.

8 years ago
Permalink

Comment has been collapsed.

it will be when servers are upgraded.
you need to talk with CG/support to know when that will be. till then enter only giveaways you don't want to back down from, n if you win contact g/a creator to ask for re roll. you know the usual stuff.

8 years ago
Permalink

Comment has been collapsed.

Yay, the "Entered page" is back to full history! Now, excuse me while I go rock in a corner, for obvious reasons V_V

8 years ago
Permalink

Comment has been collapsed.

Closed 8 years ago by cg.