Hi guys,
English is my second language. Sorry for any mistakes.
First of all, thanks for the great tutorials and content on rtCamp. Thanks to you guys I've set up a NGINX server that is, at this point, performing way better then my old Apache server.
But just like everyone else, I would like to improve even more. Squeeze even more on a single server, and improve even more my loading speed.
Here is what I have so far:
Nginx with fastcgi_cache serving content from tmpfs;
PHP-FPM with APC opcode;
Wordpress with NGINX Helper plugin, purge is working as intended;
Ngx_Pagespeed doing its magic on .js/.css files and on some images - dont know why it seems to ignore a small percentage of the images on the page. Anyway, I cache pagespeed optimized stuff to tmpfs and have zero cache miss.
I use debian wheezy with dotdeb repo. I run everything on AWS.
I did siege testing and nginx+fastcgi_cache can take the heat up to dozens of simultaneous users without delays between requests. It is impressive.
#
I think the next step for me would be to move all static content, specially images, to S3. I dont worry about CDN since all my hits come from a single country (Brazil) - could be wrong.
I would like some opinions on this. I think I can do this with W3-Total-Cache, and for newer websites just use some plugin that uploads directly to s3. What I would loose is ngx_pagespeed lossness compression (images) and minification etc (js, css).
What do you guys think? Is there any good way to bulk optimize images and replace the source so that optimized images get moved to s3? Do you guys think the benefit is worth the effort? I mean, how faster can the load time for the end user be agaisnt serving static content with nginx from ram? Of course there is the scalability point that also needs to be considered. Whats more scalable than s3?
I aspire better load times, and a more scalable solution. Using S3 for the heavy lifting is, IMO, the best way to go. I could squeeze a bunch of websites on a single ec2 small instance, fast_cgi_cache would do the job serving up to hundreds of sim. users. S3 would serve static content.
Why I need this: Last year I had one of the websites I host was featured on sunday nights brazilian most watched program (Fantastico - nation wide). Couple of seconds after the news report, analytics showed 20.000 sim. users on the website. Of course apache could not handle it. I had to turn on a load balancer and turn a couple of servers on, plug all on a RDS heavy and hope for the best. For the next couple of days I was getting 1000%+ hits 24 hours a day. Had to keep the load balancer on and bill the client a fat invoice. Client lost alot of conversions on those first hours of spike that I could not hold. This cannot happen again anytime with this website and with others I manage.
Any help is welcome. Best regards.