Wandering Digital
Wandering Digital

Reputation: 1868

Optimize Server for Traffic Spikes (Drupal)

We have a fairly intensive Drupal installation running on a large EC2 server instance. The system takes registrations for campaigns that we host, and when we send out an invitation email the numbers of responses spike to around 1,000 per minute for the first ten or twenty minutes.

The system is running on a fairly standard LAMP installation, using the latest version of Drupal 7. I guess I have three questions:

1.) Should this amount of load be maxing out this size server? The install has the Organic Groups, Tokens, and Webforms modules running. 2.) Are there Mysql/Apache server tweaks that will minimize the amount of load per connection—shortening 'keep alive' time, etc.? 3.) Are there Drupal tweaks that we should implement to do something similar—maybe consolidating SQL calls?

I know this is a lot. Any ideas, suggestions, or critisisms will help.

Thanks!

Upvotes: 1

Views: 513

Answers (1)

Veer
Veer

Reputation: 371

For high server load with Drupal, combination of NGINX+PHP-FPM+APC+MySQL+VARNISH will be the best option. If you are using multiple system behind ELB, you can use MEMCACHE instead of APC. You should use MySQL Replication in your architecture along with load balancer. You can tune the server configuration of NGINX and PHP-FPM separately. If any process of PHP-FPM is taking time you can terminate that particular request (request_terminate_timeout, request_slowlog_timeout ). You can check all the configuration related info here PHP-FPM configuration

Also if you are using AWS, you should try to utilize their other services too in your architecture like S3 as CDN, ElastiCache, Cloudfront etc.

You can also use Google Page Speed service

Upvotes: 1

Related Questions