0

I read a lot about many ways to improve drupal site performance optimization, but I did not find a clear indication of the top 10 most relevant modifiations for optimizing the performance of a complex site.

I currently am working to optimize a very complex site that has completely grown out of hand and needs serious modification because current page load speed is about 4 to 6 seconds for authenticated users. The website is mostly being used by authenticated users. The only access restriction is present through the Organic Groups module.

Current state:

  • 90 node types
  • 140 select boxes checked on the admin/modules page
  • 63 Vocabularies
  • 240 views (excluding the additional views displays)
  • 30 rules,
  • 50 rules components
  • 130 node panel variants
  • 10,000 lines of css (excluding the omega base theme and modules style sheets)

What is the most important to start with, in general?

4
  • Top 10 priorities in performance optimisation is rather subjective, and the most important is probably caching.
    – apaderno
    May 8 '15 at 3:08
  • 1
    Might install New Relic and get some stats, check your network tab and see what is happening on each page request, use page speed insights for feedback also May 8 '15 at 3:37
  • Why would there be 10? Where does that number come from?
    – Clive
    May 8 '15 at 7:50
  • There, found you a 35-point one. 35 is better than 10 :)
    – Clive
    May 8 '15 at 8:26
1

I won't talk about APC and other Apache optimization tricks.

In in experience:

  1. Enable caching for Views and reduce use of Views
  2. Enable Javascript and CSS compression
  3. Minimize the modules. Disable unused ones. In production I disable as UI's .. the following script will give you some help.
  4. Most of bottleneck comes from Mysql. I suggest you optimize it and I found this post useful.

Disable User Interface Modules

When not developing you can safely disable Field UI, Rules UI, Views UI, dblog etc. Also I'm sure but we should also be able to disable CKEditor/FCKEditors.

This is what I use in a script:

drush dis --yes admin_menu advanced_help backup_migrate content_type_overview  dashboard diff environment_indicator field_ui help module_filter rules_ui search term_merge update views_bulk_operations views_ui vppr  field_ui  rules_admin devel site_audit  drupalgeddon l10n_client taxonomy_manager dblog

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