Jump to content

How big is yours? :)

Recommended Posts

I mean, your forum and your server!

I'm trying to get a ballpark for server sizing vis-a-vis the concurrency (users) of your forum. Not theoretical numbers as such, but more what people are actually experiencing

While I am in the process of looking for a new host, per the rules of this forum I'm not looking for specific hosting company names. I'm trying to establish if I can lower my bill and go to a VPS from a dedicated, and because there are so many factors in play in that equation, I'd like to get a sense of what others are getting from their setup.

My forum:

  • Peak online users 15 minutes as reported by IPB: 622
  • "Average" online users over 15 minutes: 475
  • Sign-ups: 300 /day
  • Unique Visitors per day: 16,000
  • Pageviews: 5.5 million per month

Currently on a dedicated: E3-1270 4 cores, 16gb ram costing too much!

Would like a high-end VPS.

Care to share your forum stats (esp. online users) and current server spec?

Thanks for any replies


Link to comment
Share on other sites

It all depends on how much room you want/need for growth really, how quickly you want your forum to respond, and if you want to be effected by others (shared/vps can cause others on the same server to effect your performance) at 5.5 mil views a month, you should have the income from ads to support your current server, if it's working fine and the site is growing, I wouldn't touch it.

Part of a successful site is a well performing one, going backwards to a vps will likely hamper your performance.

Link to comment
Share on other sites

  • 2 weeks later...

I'm currently hosting on a E3-1230v2 dedicated server with 16GB of memory. It runs me over $300/month right now, but that's also accounting for bandwidth (1Gbps and up to 25TB/month) and storage (dedicated SSD drive for the OS, database server and basic site data, plus a 3x1TB RAID 5 array for file storage). I can get a more stock configuration with 8GB of memory (same processor) for around $100/month.

580 peak users, "average" online users during peak hours is probably ~325, around 35-60 sign ups/day and around 3.5M pageviews per month.

So, less than you by a semi-fair bit.

I'm currently using ~8GB of memory, but I try and really take advantage of the servers available memory pool since I have enough to spare.

~4.6GB of that is dedicated to MySQL/MariaDB alone, as I have my entire database loaded into the InnoDB buffer pool for performance.

A couple hundred megabytes are dedicated to Sphinx and around a couple gigabytes are dedicated to the web server, only because I keep 50 static PHP-FPM pools open for connections. You really don't/shouldn't need that many, but it's nice to not have to ever worry about running out of pools for connections, even under a sudden surge/spike in traffic. (Even then, 50 is rather high, and you probably wouldn't need near that many. You also don't need to use static processes, but being that your web server should never be able to consume more memory than you have available and you get the best performance when using static, there's no reason really not to for a server hosting a single application)

What you can run your site on may not be best if you're worried about performance. For example, you don't have to load your entire database into your InnoDB buffer pool (if you even use InnoDB), but under heavy workload, it can have a noticeable impact on performance if this setting is set too low.

It can be tricky to really fine tune these things to find a balance between performance and efficiency, so that's something worth keeping in mind.

Link to comment
Share on other sites

  • 3 weeks later...

I'm currently hosting a E5-2620, 12 Core, 24 Thread dedicated server with 65GB of DDR3 1666 Memory. It currently has a Double Raid Backup (total 4TB) with a Samsung 512 GB 840 Pro SSD for CENTOS, 4TB Total for Web Storage, 33TB Bandwidth Usage per month (could have a legit unlimited once I hit 33TB monthly). Of course, this server is running cPanel Web Host Manager, the latest, configured with all the best goodies, extensions and no typical bullfaeces you'd find pretty much every shared web hosting provider you turn too. Nearly all settings are configured to allow as many resources your website needs to be used and because there are so many to go around, it's always extremely fast and reliable. For anyone who has heavy MYSQL use and a super huge database, my MYSQL configuration will not keep holding you back due to insufficient permissions, I have everything configured the way it should be and comfortable for you to use! One of the biggest things that sets my configuration apart from everyone else is my PHP per script Memory Limit which is set at 8GB! The best part about my server is that its hosted in Canada which legally only requires the websites to follow Canadian Law, so none of that bullfaeces from the UK or US and their ongoing drama thank you very much. This baby sets me back for $624 per month with discount of course. Lately, I haven't been using nearly even a quarter of the resources and would love for someone interested in partnering up to join me, that includes non IPB websites aswell, the server is configured for almost any type of website, including extensive video streaming, conversion, uploading, downloading, and so much more... Y'know the typical stuff any other host wouldn't allow because they are too greedy and can't see the big picture. Certainly, I'm not pointing any fingers however those that understand me will get what to whom I'm referring to.

Link to comment
Share on other sites

I'm on a custom load balanced 6 server setup. Mostly E3-12xx with 16GB. DB server obviously on SSDs. Dishing out 6m+ page views per day.

Significantly the biggest resource user is php processing.

Out of curiosity, do you make use of memcached at all?


Can you please post the php-fpm settings that you use as i have a similar server and i am using also php-fpm ?

Sure, I cleaned it up a bit but it'll still obviously need tweaking to fit your specific needs.

prefix = /var/run/php-fpm
; Unix user/group of processes
user = php-fpm
group = http
; The address on which to accept FastCGI requests.
listen = ipboard.sock
; Set listen(2) backlog.
listen.backlog = 1024
; Set permissions for the unix socket.
listen.owner = php-fpm
listen.group = http
listen.mode = 0660
; Set up the process manager
pm = static
pm.max_children = 50
pm.max_requests = 250
pm.status_path = /fpm_status
; Logging of slow requests
;slowlog = /var/log/php-fpm.slow.log
request_slowlog_timeout = 0s
; The timeout for serving a single request
request_terminate_timeout = 5m
; Chdir to this directory at the start.
chdir = /srv/http/example.org/root
; Limits the extensions of the main script FPM will allow to parse.
security.limit_extensions = .php
; Pass environment variables
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp
env[DOCUMENT_ROOT] = /srv/http/example.org/root
; Additional php.ini configuration
php_flag[display_errors] = off
;php_admin_value[error_log] = /var/log/php-fpm.ipboard.log
php_admin_flag[log_errors] = off
php_admin_value[open_basedir] = /srv/http/example.org/root:/media/storage/http/example.org:/tmp:/usr/bin
php_admin_value[disable_functions] = escapeshellarg,escapeshellcmd,exec,ini_alter,parse_ini_file,passthru,pcntl_exec,popen,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,show_source,shell_exec,symlink
php_admin_value[memory_limit] = 128M

Link to comment
Share on other sites

Those settings should be removed or commented out, they're only used for the dynamic and ondemand process managers.

Where did you read that max_requests should be over 10,000? I usually consider it good to set this to a (reasonably) lower value. With 50 workers available, having a single worker respawn once every 250 requests should have a negligible performance impact and helps to avoid memory leaks.

Link to comment
Share on other sites

A quick search returned this thread for me,


I'm pretty sure this is wrong, however. With 256 static workers spawned and 1500 PHP requests per second (that is an outrageous amount of traffic in comparison to what you and I handle), you would not be respawning workers every 3 seconds. max_requests means when one of those 256 workers receives a set number of requests, that one worker is respawned.

It probably doesn't matter much, but I would still keep this value at around 250-500.

Link to comment
Share on other sites

I don't recommend using ondemand period. It's a process manager that's rarely practical.

For a server dedicated to serving a single web application, static is almost always the best way to go.

Static means you will always have a set number of PHP workers spawned and ready to handle requests. These never go away. This means if you get sudden surges in traffic, you won't have to waste resources spawning new PHP workers to handle those requests only to kill them off permanently a short while later.

Dynamic can be good for shared hosting environments or environments in which you have multiple PHP applications running and want to conserve memory.

Ondemand can be practical for servers that host a large number of very low traffic PHP applications. The difference between Ondemand and Dyanmic is that Dynamic always has a set minimum number of workers spawned. Ondemand has none and, as the game implies, only spawns workers on demand.

(As a side note, I've been using the terminologies pool and worker backwards in this thread. A PHP pool spawns workers, not the other way around, ignore that error in my previous posts please)

Link to comment
Share on other sites

Out of curiosity, do you make use of memcached at all?

Yes. But I actually have a large portion of caching protocols re-programmed and use more than one type of caches, mainly apc & memcache. I found the default properties of memcache by IPB bottlenecking on bandwidth for large data storages such as memcache and mysql. The internal connection between servers for would be well over 1gbit which was how my network was setup. So any large data would be stored in apc even if needs to be regenerated more often.

Link to comment
Share on other sites

Dual CPU 3.1GHz 8 Core with 128GB Ram 1.6TB Raid 10 SAS 15k7's with Hot Spare and 4TB Raid 10 7k2 with Hot Spare

On the above we have CentOS KVM High End VPS's

On the 15k7 drives we have forums of one sort or another, fairly well tuned and all running cPanel, MySql and Unixy Varnish - Some may have Nginx and / or MariaDB at customers requests

One example for IPB forum would be

4GB KVM VPS 2 Cores 200GB HDD (15k7)

120 average users over 15 minutes 220 Max Users Online

80GB Bandwidth per month

Around 70K Unique Visits per month

775K Page Views per month

330K Posts - 23K Members - Averaging 10 sign ups per day

This is an Average looking at the stats

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...