Optimizing Drupal and server for performance

Optimizing Drupal and server for performance

5 posts / 0 new
Last post
questions's picture
asearls
Points: 0
Optimizing Drupal and server for performance

I'm running a site that is having performance issues and am seeking advice on some general Drupal best practices on performance, server configuration, basic best hardware, etc.

A bit of background: we're doing a Q&A mashup with Twitter and the heart of the site is using the FeedAPI module to create nodes out of all tweets at Twitter that have a question mark at the end. The result is sometimes dozens of nodes per minute, so it will be an intensive endeavor to say the least no matter what we do, but just trying to optimize.

So far, we've been on a VPS and our problems have included capping 100% on the processor, running out of memory and cron cycles timing out due to the load of the node-processing.

Clearly, our work is cut out for us by virtue of the endeavor, but any general "best practices" advice or documents/threads to look at on what in general to throttle, what modules to avoid or add to help performance, configuration settings, server requirements, etc would be greatly appreciated.

We're moving to a dedicated, managed server in the coming weeks so thought this was the best time to ask.

Status: 
Unresolved
Joshua Brauer's picture
joshua
Points: 0

Hi Allen,

A couple of thoughts come to mind offhand.

One is to consider running an opcode cache mechanism. Something like Xcache or APC can be a big help in minimizing PHP's impact on the server. It's also critical to make sure you aren't hitting the limits of physical memory. At the point you start having to use virtual memory the server will become much less efficient and will quickly grind to a halt.

Another aspect I'd consider depending on the nature of how you're going to use the tweets once you have them is whether a node is the best way to store them? It could be that keeping them in a separate data structure could reduce the overhead of creating, storing and processing the nodes significantly. In this regard it might be instructive to look at the twitter module and the structure it uses for storing data.

In the same way it may be worth having a different method of parsing the tweets. FeedAPI is great but as with any general purpose tool there will be trade-offs between the flexibility of handling many common cases and the optimization of a tool designed for a specific purpose.

Thanks,
Josh
Acquia Technical Assistance Center

Thanks,
Josh
Acquia Client Advisory Team

questions's picture
asearls
Points: 0

Hi Josh - Thanks for all of your excellent advice, I've shared it with our team as we make decisions on servers, modules, configuration and so on.

damiensefouni@hotmail.fr's picture
damiensefouni
Points: 1

Hello,
We have also a serious performance issue with our drupal and/or server instance
We have lauched the site in production yesterday and, we have noticed that the time to log to a private account is higher than 2 minutes (120 seconds) and, it is not possible to work in this way.
Otherwise, to browse trough the site is very complicate as, any click suppose to wait a long time to see the page clicked
Nevertheless, in devlopment instance and pre-production instance, to log was quick and the browser was quite ok
What could have changed from our devlopment and pre-production instance in acquia ?

Thank you in advance for your help

Status Change: 
Unresolved
rechalalex8@gmail.com's picture
rechalalex8
Points: 0

something
special
you
We have also a serious performance issue with our drupal and/or server instance
We have lauched the site in production yesterday and, we have noticed that the time to log to a private account is higher than 2 minutes (120 seconds) and, it is not possible to work in this way.
Otherwise, to browse trough the site is very complicate as, any click suppose to wait a long time to see the page clicked
Nevertheless, in devlopment instance and pre-production instance, to log was quick and the browser was quite ok
What could have changed from our devlopment and pre-production instance in acquia ?