All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
What specs required for Wordpress (high traffic)
Hello all,
I am supposed to deploy a WordPress website, for a startup. They make videos and want to show these videos on the website. Initial number of visitors would be very low , but once some PR work is done they're expecting 10k to 25k 100k to 250k visitors every month. I have never done this kind of job so I'm not sure what kind of specs we'd need, I'm trying to do my best as it's a family member's project.
If we were to put the videos on our own servers, if I'm not completely mistaken, we'd require 50+ Tb 250+ Tb traffic per month just for the videos. (300 Mb * 20k people 200k people * 10 5 videos each) So I'm really considering putting videos on DailyMotion or YouTube.
What specs (ram, processor) (and dedi or vps?) would a site with above descrition require, if the videos would not be streamed from our servers but from DM, YT, etc?
What kind of specs if videos were to be streamed from us? (Aside from bandwidth and storage)
What do you think about managed WP hosting such as WPEngine? I think it's too expensive.
Thanks in advance for your help guys
Comments
lol, my bad, i m terrible at this traffic analytics whatnot, i changed it to something more sensible now.
can you check out this analytics results for this competitor-to-be of ours, it is an existing site aimed at the same market. we're expecting similar results. http://www.similarweb.com/website/hemensaglik.com
A 256MB VPS with Varnish can handle it.
@kerouac If the number of visitors changes from 25k to 250k, then just multiply it for *10.
Approximately 0.1 visits per second.
Is this answer for the wrong number of 25k/m or the revised 250k/m
250k.
I setup one of the biggest tech blogs in the Philippines up on a $10 Digital Ocean LEB. Make sure you have WP Supercache/W3 Total Cache installed/configured, wp-cron turned off and Varnish setup to use as much ram as you can give it.
Should be good to go after that ^^
Bandwidth and throughout would probably be you biggest bottleneck when a lot of people start streaming concurrently. You can put the videos on youtube and just embed the player in your blog post. That would be the easiest, you can also make the video private on youtube, so that it doesn't get listed on the youtube search. But keeping it public might give your site more exposure.
You should be focussing more on the max concurrent visitors, because that will be the real strain on the server.
Plus Google will pay you ad money.
Ever tried wordpress with nginx and fastcgi cache? I've been playing with it and I'm impressed
Here is a tutorial for Wordpress + nginx + php-fpm with fastcgi cache.
https://rtcamp.com/wordpress-nginx/tutorials/single-site/fastcgi-cache-with-purging/
I haven't used these guys service, but they seem like the bunch of guys you need to contact for your job. I guess for a few hundred dollars they would set up your VPS and Wordpress to run smoothly with this load.
Also, they are developing this auto-configure script easyengine which is supposed to make a fully configured WP + nginx + caching install with a single line of command. I have never used it, so I don't know how well does it work, but their website was the most detailed when I was googling nginx caching options for wordpress, so I'd trust them. The script needs Ubuntu 12.04 LTS.
https://rtcamp.com/easyengine/
Personally, I have 10+ WP websites on a 512 MB KVM SSD VPS from Prometeus and with nginx + php-fpm + W3TC opcode cache, it works up till around 350 clients / second. I think with varnish or fastcgi cache I can make it push 1000+.
Use blitz.io for real-world testing.
Never used fastcgi caching. Looks promising.
What about concurrent visitors? If it's featured on TV etc, it can lead to a lot of people trying to reach at the same time. That kind of server good enough for this?
It's all about your competence. That website can't run on a 512GB server if you can't configure it right. If you can, it'd run just fine.
This. Varnish demolishes the impact of Wordpress on a system.
This. I'm such a noob I have no idea what it means.
Exactly what was already said here. We handle several websites based on WordPress that receive some visitors like 100,000 unique visitors/day - several millions/day. Not everything is about the hardware, but about how it is optimized and how well the software is written. (Still VPS'es are not always enough )
It is possible to do a lot by using proper Varnish/Nginx caching. In my benchmarks Varnish handled 4-5Gbit of traffic fine, Nginx 8-9Gbit.
However, on such large scales, you have to think about a lot of stuff, even small things, you never thought about are becoming an issue and need to be scaled/optimized.
On some projects it was not even possible to start iftop, it just crashed
And no, I would not recommend hosting the videos on your own, but using YouTube or something like that. Technically, but also PR-wise...
Varnish is super easy to use. I've got a guide on my blog, jarland.me, but I wouldn't use it with less than 1GB memory by my guide because I'm past the minimal thing.
I guess I should read up on this a bit. Don't know much about this. When I set up a server it's just Centos 6 x64 + Webuzo CP + NGINX as server with no tweaks. I just update the server every now and then. Is this terrible server management? Frankly, I am afraid of blindly using how-tos. If there were a complication, a bug, there's no way I could debug.
Is varnish something that needs many tweaks/adjustments?
@jarland let me check
Another factor to memory usage is MySQL buffers and/or caches. InnoDB is going to use quite a bit more memory/diskspace (than say MyISAM) esp as the site grows and gets lots of posts/revisions/postmeta/comments (even if marked spam, they build up over time if not cleaned out).
I would def recommend using MariaDB for its improved engines and it may be worth a few extra bucks to go for a 512mb VPS so that you can easily run InnoDB and gain its row level locking and LRU buffer logic.
The key here is to stop the request before it enters the PHP stage.
For this, you have only two options:
1. nginx + fastcgi_cache
2. varnish -> nginx (or nginx -> varnish -> nginx if you need SSL)
I can recommend option 1, since it has a Wordpress plugin for fine-tuning cache purging. Most things are well explained in this tutorial.
Using MariaDB for a few different things instead of just normal MySQL, works very well.
a 512 ram vps can easily handle it.
I used Nginx+varnish+memcache+mysql+php
/w wordpress nginx-helper cache plugin 500k+~1M PV/day easily. (tried 1m/day, not a problem)
I am running Varnish Cache again too, it's working really good for me. If you don't want to be worrying about wp-admin getting cached, or if you don't know how to properly configure your ACLs, I recommend putting a efficient web server up to serve the WordPress Admin back end, and use another as your main web server for the front end, where all your stuff will be cached by Varnish Cache, then served by your main web server. It will draw more resources - but not that much, since you can limit the WP Admin back end a lot, plus the back end doesn't see much action from regular visits...actually, it shouldn't even be readily available to regular visitors unless your web site is set up in a manner that it needs to. Whatever.
I run nginx for all the back end stuff proxied via Apache2 then for the main site I use Apache2 + Varnish Cache. For MySQL I use MariaDB
I'm very happy with it all. At the moment the entire system draws 749 MB, with a bunch of other programs running (Webmin in particular).
This is semi low-end, I suppose?