I building a site that could potentially utilize 50 different content types. The most of the content types have more than 40 CCK fields, including multiple field_collections entity_reference.

How can i take care about performance of site Specially for CCK fields level ?

2 Answers 2


Yes. The more fields you have, the more load you should expect on your database server; that's a given.

What it means in real terms depends on your hardware, configuration and usage - you'll need to benchmark your site in that actual environment to come to any meaningful conclusion. If you get one request a day, for example, your pages are cached, and you have a brand new shiny server, then you probably won't need to think about changing anything.

If you get thousands of requests per second, all your pages are non-cacheable, and your server isn't great, then you might have to think about re-structuring that data so it's more performant (e.g. creating custom field types to combine data from multiple other field types into a single table).

In short, there's no general answer to what you're asking. You need to see what problems your application develops under load, if any, and deal with them then. Premature optimisation is rarely a good idea.

All of that said, Drupal's main defence against this kind of thing is caching. There's a great post here: How do you improve Drupal performance?


This is the sort of question that's almost impossible to answer without benchmarking on your actual hardware. Sure, the number of content types and CCK fields will affect performance, but if most of the activity is browsing by logged out visitors, the page content can be cached, so displaying the pages should put relatively little strain on your server. On the other hand, if they are highly dynamic pages constantly being updated my multiple users, you could find your server is quickly dragged to its knees.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.