What kind of spec to handle 100k pageview/day

joshuatly

New Member
Hi,

I wonder if my free tier of EC2 micro is able to handle 100k pageview/day running apache wordpress+mysql?

If not, what spec will you recommend if I wanted to run a wordpress site at that scale?

Thanks

Edit: 

My problem is this, currently my site is hosted at shared hosting, but the page load ttfb is super slow, caching doesnt seems to help.

Im considering moving to VPS. but I dont know how to tweak apache/nginx/mysql.

What server spec will I need to run a site with 100k pageview/day (wordpress + getsimple)

98% of my traffic are from Malaysia, I guess it is wiser to host it from Malaysia/Singapore.

Hosts im considering:

  • Amazon EC2 (micro?) @ SG
  • OneHostAsia @ SG
  • Linode @ JP
  • VPS hosting at Malaysia which cost me ~400USD/year
Any suggestion?
 
Last edited by a moderator:

Amitz

New Member
Wordpress... If there would just be an as wide-spread alternative at the horizon... People could spent way less money on hosting if that thing would be less ressource hungry from scratch.

However, I ran a Wordpress Installation with around 400,000 pageviews a day from a 512 MB/2 cores/SSD VPS with complete ease. It was based on nginx instead of Apache, but maybe that gives you an idea... Others with more experience will surely chime in soon.
 
Last edited by a moderator:

drmike

100% Tier-1 Gogent
I don't play in the clouds.

Wordpress is pretty robust, but slow (if you don't have caching working).

I'd never try running anything other than some sort of random testing on a free service.

You are looking at like 2-3 requests a second if you have majority to all requests in a 12 hour period a day (many people have heavy traffic like that in limited time span).

A VPS with mediocre spinning disk, any semi modern CPU (single core) and probably 512MB of RAM will be overkill.

Once you get Wordpress caching to work right, everything changes.  Must better page request throughput.
 
My thoughts:

- There's a WP plugin to convert the dynamic pages into static HTML images, which reduces CPU load from the PHP processor. Then, you could easily configure apache/nginx/whatever to mmap the html files into memory to reduce CPU load (due to copy on write).. One downside to mmap is the amount of page faults and TLB misses on some systems. 

- If this is unacceptable, I highly suggest a reverse proxy / something with EAccelerator 

Wordpress takes a big speed hit from MySQL (if query_cache is enabled you'll see a decent speed up), and the rest comes from PHP. 

Source: 20 years in IT, software engineering, network engineering, OS design, et al.
 
I would avoid using APC because it does not page opcode to disk, so it stays in memory. Free memory on *NIX servers goes towards the filesystem buffer cache, generally. 
 

nate

New Member
Verified Provider
We run several WP sites that receive heavy traffic (<50K alexa). Using a server that is optimized correclty, you might be able to get away with 512MB of RAM and 2 cpu cores. I would suggest at least double the specs in order to cover any spikes in traffic. Apache/MySQL out of the box definitely needs to be optimized and is not a suitable solution. Apache will quickly drain your servers memory. Running nginx as a reverse proxy and optimizing MySQL will help significantly. Avoid installing a control panel such as cPanel, unless your budget allows. It will require a license + extra resources for everything to run smoothly.

Latency is important and if 98% of your traffic is from Malayisa, you will want to consider a server within 50ms of that location. Hong Kong/Singapore/Japan are all very well connected and bandwidth pricing is reasonable.
 

dano

New Member
I have a dedicated that is mostly in idle, and it is currently doing an average of 77/requests per minute(bit over 100k per day). The script that the remote hosts ask for is built in Perl/PHP and uses mysql to record the small bit of data that it's requesting, but their is literally no content being served(no wordpress or multiple db calls per request - -it's a single call to the db per request. The requests are steady all day/night, as the end devices are cron'd to contact this gateway every 5 mins(some sites are turned off at night, but very few).

With that being said, the host server is a Xeon E5607, with 6gb of mem, and software raid1 7200rpm sata disks. According to sar, the machine is 99.45% idle on average, and free reports:

total       used       free     shared    buffers     cached

Mem:          5967       3738       2229          0        216       3251

-/+ buffers/cache:        269       5697

Swap:         4094          0       409

 

Network average:

 


max              9.53 kB/s  |    10.28 kB/s

average              3.18 kB/s  |     3.54 kB/s


 

 

As you can see, this app is a tiny home built thing that is about as simple as it comes, so I am certain that any CMS(wp,etc) would use much more cpu and mem, due to the amount of requests each dynamic page would create. Hope this helped to get an idea of hw possibly needed for 100k page views per day.
 
Top