Invision Community 4: SEO, prepare for v5 and dormant account notifications By Matt November 11, 2024
holdingllc Posted October 18, 2013 Posted October 18, 2013 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 Chris
Rhett Posted October 18, 2013 Posted October 18, 2013 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.
DesignzShop Posted October 18, 2013 Posted October 18, 2013 Wouldn't a additional xeon cut out some of that memory and be cheaper?
Rhett Posted October 18, 2013 Posted October 18, 2013 It wouldn't effect the ram on it's own really, but he could get by with those stats and processor with 4GB just fine if properly configured, that would be one way to cut cost a little and keep the same setup. ,
Makoto Posted October 28, 2013 Posted October 28, 2013 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.
Nevo Posted November 17, 2013 Posted November 17, 2013 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.
Kyle F Posted November 17, 2013 Posted November 17, 2013 I'm sorry...but why did I just read that title in a different, odd and awkward way... :blink:
Nevo Posted November 18, 2013 Posted November 18, 2013 I'm sorry...but why did I just read that title in a different, odd and awkward way... :blink: Options are always a good consideration. :D
Makoto Posted November 18, 2013 Posted November 18, 2013 I'm sorry...but why did I just read that title in a different, odd and awkward way... :blink: You've been corrupted by the internet like the rest of us. (Also, the OP completely intended for it to be read that way)
Grumpy Posted November 18, 2013 Posted November 18, 2013 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.
ASTRAPI Posted November 18, 2013 Posted November 18, 2013 @Deactivated Can you please post the php-fpm settings that you use as i have a similar server and i am using also php-fpm ? Only one forum there and i think is good to use static for it....
Makoto Posted November 18, 2013 Posted November 18, 2013 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? @Deactivated 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. [ipboard] 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[HOSTNAME] = $HOSTNAME ;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
ASTRAPI Posted November 18, 2013 Posted November 18, 2013 What about the rest settings? pm.start_servers = 8 pm.min_spare_servers = 4 pm.max_spare_servers = 10 Also i was read that pm.max_requests should be more than 10000 or not?
Makoto Posted November 18, 2013 Posted November 18, 2013 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.
ASTRAPI Posted November 18, 2013 Posted November 18, 2013 If i am not wrong i was read it on nginx forums....
Makoto Posted November 18, 2013 Posted November 18, 2013 A quick search returned this thread for me, http://forum.nginx.org/read.php?3,224236 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.
ASTRAPI Posted November 18, 2013 Posted November 18, 2013 Exactly this was the topic :) What settings do you recommend for on demand on a server like yours? Thank you
Makoto Posted November 18, 2013 Posted November 18, 2013 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)
Grumpy Posted November 19, 2013 Posted November 19, 2013 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.
rmbettencourt Posted November 22, 2013 Posted November 22, 2013 Totally misleading and disappointing title. ;) WHOA! Your site must be HUGE
IveLeft... Posted November 22, 2013 Posted November 22, 2013 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 dayThis is an Average looking at the stats
Recommended Posts
Archived
This topic is now archived and is closed to further replies.