Migrating a 10m PI forum - hardware requirements & performance


(Jens) #1

Hi,
what kind of hardware setup would you recommend for a large forum with currently 1.2m pages, 300K users and 10m monthly PI?

What did you plan for with the hosted discourse server setup at The Discourse Servers


How many concurrent users are supported in discourse?
Is there a test database with a larger number of posts/users?
(Jeff Atwood) #2

Let’s see… 10 million pageviews per month is

  • 333,333 pageviews per day
  • 13,888 pageviews per hour
  • 231 pageviews per minute
  • 4 pageviews per second

It sort of depends how many of those are cached anonymous views versus logged-in user views.

To be safe, I would recommend something like the $80/month plan at Digital Ocean which is 8GB ram, 4 cores, SSD. You might also be OK with the $40/month plan of 4 GB memory, 2 cores, SSD.


(AstonJ) #3

That’s pretty good Jeff.

@jeans - what is your forum currently running and on what hardware?


(Jens) #4

that would be all I need for 10m PI? jeez…
The current forum is running on 10 physical machines, quadcores with 8GB ram and traditional HDs.
@AstonJ: it’s a very old and custom stack, mostly written in perl.

Somebody told me, rails consumes resources like a bulldozer.
Thanks!


(Jeff Atwood) #5

Like I said, it really depends how many of those views are anonymous users, then you’re merely serving cached information which is hardly any load at all.

Now if all 10 million of those views are logged in users, it is a different story.


(AstonJ) #6

A very non-precise way I measure performance on my own server is by creating test installs, and then simply seeing how much resources each equivalent page view uses in TOP.

I plan to do the same with DC when I get around to installing it on my production server.


(Jens) #7

Most traffic is anonymous. We have constantly 900-1100 users on the site, but only 3.000 users log in per day. 500 new threads, 5.000 comments.
So there is logged in traffic, but I’d say registered & logged in users account for about 3-4% of total traffic.

But going through the stats, I just discovered a real surprise, not a pleasant one, though: we still have 10,4% visits with IE8 or lower. And DC does not work at all on IE8.
Probably it’s time to stop whining about stuff like that and tell those folks to upgrade or take a look at Chrome


(Dave McClure) #8

Interested to hear how this works out in practice if and when you do this migration, so please update us here when you do!


(Jeff Atwood) #9

Did you ever get this going? I suspect the $20/month plan with Digital Ocean would handle the load with all the optimization we have done since the last post here.


(Jeff Atwood) #10

I moved 2 posts to an existing topic: Slow sql queries


(Salman, Freelance Developer) #11

To be fair those numbers have a big fat assumption that all requests are perfectly evenly distributed. If you have 70% of your traffic during peak times (say 10-4pm) then your pageviews per second suddenly jumps to 6h * 20 days (excluding weekends) = 120h = 432K seconds or 16 requests per second.
Now 16 pv/s isn’t webscale , but the point is you have to take traffic patterns into consideration.

Actually to add to this during peak times you could have all of these different elements occurring at the same time:

  1. Background jobs:
    • email digests
    • bulk operations
  2. Searching
  3. x active users online and polling for updates
  4. people clicking through links on your newsletter
  5. api calls

So if your website is “slow” for only 30 minutes in a day, you will have to provision your server accordingly in order to maintain a responsive experience.


(Jens) #12

Visits in this particular forum are fairly constant, from 9 a.m. to 10 p.m. with ~16k Sessions per hour.

We haven’t really tested performance yet, as we’re still in query optimization. A few hundred categories, and 1.2m topics…


(Salman, Freelance Developer) #13

Oh I was hoping to get some details on how the migration went since it has been almost 1 year now :smile:

Sounds like an fun migration process. Be sure to tell us how it goes.


(Jens) #14

We will. @lightyear and @sysanski are working to make it happen in 2014 :wink:


(Erik Petersen) #15

I highly recommend you run this idea by your members or you may need a lot fewer resources than you imagine.


(Jens) #16

@erikp you mean replacing the forum software? I agree, can destroy a community. We’ll start with a beta end of october


(AstonJ) #17

Are you talking from experience? (Just curious.)


(Erik Petersen) #18

Yes, considerable experience.


(AstonJ) #19

Please elaborate…


(Jens) #20

I have some experience to share. Not a forum, but a large social network. I mostly changed design and UX, in preparation for new functionality. And I lost about half of our users. From 90.000 concurrent, logged in users in evening hours down to 40k over just 3 months. Then the exodus kind of slowed down, but continued. It was in 2009, when facebook was on the rise. It would have happened anyway, but the timing for “innovation” was really bad, as people were mostly loyal by force of habit. I redecorated their living room and gave them a reason to prepone the inevitable.
It’s really hard to gain something short term from any community relaunch. Step by step is always recommended, unless you really know what you’re up to :wink:
Even if you ask your community and doing betas and everything seems fine, you can’t be sure they will decide against you when they actually have to use the new site.