Skip to main content

Optimize Drupal 7


Hi, There can be a number of approaches u can think of. I am listing some of those based on my recent experinces

1. Try to have minimum no of tpl files in your theme folder. We should avoide writing separate tpl for each type of content or node 

2. Try to include internal css & js files on at the apprpriate location under speific hooks or so, sothat those don't get loaded unnecessarily 

3. Try to make use of modules like cache_external_files to load external js files from ur local system and get it updated on cron run 

4. Write ur code under best possible drupal way, I mean say, if we can have some code be working under page preprocess, we shouldn't write it in hook_init. 

5. can take help of sites like http://gtmetrix.com/ , newrelic to check the site performance & follow the suggestions they provide 

6. Combine images using CSS sprites 

7. Leverage browser caching 

8. Enable gzip compression 

9. Use boost/mamcache, but be careful as boost has an issue with SSL like here http://drupal.org/node/1466480 

10. Try not to use a contributed module just because it is giving a unctionality, if you can take the required code and implement it from your custom module, it will have less load. 

11. Try to avoid slow queries 

12. Yes, if you can have CDN facility, it will be good as in that case the data will be fetched from the distributed system. If you can have distributed DB privilege, it will be better as in that case the DB & file requests will not be on the same server 

Hope it helps.

Comments

Popular posts from this blog

Difference between session.gc_maxlifetime and session.cookie_lifetime in Drupal setting.php

ini_set('session.gc_maxlifetime', 200000); This value is for the server. It is a settings for Session Garbage Collection. If the users last visit happened before 200000s then this session is eligible for garbage collection. Since it is GC, the session value may be discarded and not compulsory. If a GC action happens after the session was made eligible for the GC, it will be deleted. ini_set ( 'session.cookie_lifetime' , 2000000 ); This value is for the browser. This is the absolute maximum time till which a browser can keep this cookie active. A 0 value here means immediate or when the browser is closed. Source: 

Smart pagination or page break in Drupal 7(CK editor)

1. Install Smart Paging module   Go to Administration › Configuration › Administer Smart Paging settings.   Under 'Default page break method', select "Manual placement of page break placeholder". 2.  Install  'Ckeditor' Module   Go to Administration › Configuration > Ckediotr profiles > Filtered HTML   Edit the settings of the Advanced (Filtered HTML) Profile. Under 'Editor Appearance' section, In plugins check the required options like " Plugin for inserting a Drupal teaser and page breaks. ". 3.  Edit the configuration settings of input formats (Filtered HTML, Full HTML, Plain Text)   Go to Administration › Configuration > Text formats. Edit the required input format. For example say "Filtered HTML". Under  "Enabled filters" section, check the 'Smart Paging' option and uncheck all the remaining checkboxes. 4. Go to Content type 'article' and create new content. We will s...

Smart pagination or page break in Drupal(wysiwyg)

1)Install Smart Paging module   Go to Administration › Configuration › Administer Smart Paging settings.   Under 'Default page break method', select "Manual placement of page break placeholder". 2)Install "wysiwyg" module and 'ckeditor' profile   Go to Administration › Configuration > Wysiwyg profiles > Filtered HTML   Edit the settings of Filtered HTML Profile. Under 'Buttons and plugins' section, check the required options like "Smart Paging ","Image","Bold". 3)Edit the configuration settings of input formats(Filtered HTML, Full HTML, Plain Text)   Go to Administration › Configuration > Text formats. Edit the required input format. For example say "Filtered HTML". Under  "Enabled filters" section, check the 'Smart Paging' option and uncheck all the remaining checkboxes. 4)Go to Content type 'article' and create new content. We will see the wy...