More Related Content Similar to Drupal Backend Performance and Scalability (20) Drupal Backend Performance and Scalability25. Do you want faster response to the end user per page? 29. Sometimes, there are some ‘low hanging fruit’ that are easy to see, that provide noticeable improvement with little effort. 30. Gets hard to achieve more performance (more efforts, low return) 50. Gather a time difference ratio between the test and production server (production server is likely to be much faster) 63. Lots of RAM (caching the file system and database as much as possible) 68. Can use a reverse proxy (much like Drupal.org) 91. Can change order of sorting, time interval, grouping, along with many other things. 103. Can display in increments (vmstat 5 means it will show snapshots every 5 seconds) 109. Available as a package on Ubuntu, Debian (any other *nix / *bsd?) 113. Many others written by others available online (can find one for memcached, as an example) 129. Using packages only let you use whatever the latest version may be (APC was not available for RHEL until middle of last year) 132. Can also be enabled with too many unnecessary modules 133. Disable unnecessary modules (mod_proxy, cgi_module, etc may not be necessary on server if not hosting sites which take advantage of it) 144. Too high – you run out of memory, and you start swapping (server dies and cannot server ANY clients) 146. Tune it to terminate the process faster and free up memory. 163. Set it up as a reverse proxy to send the call to apache if it cannot (or should not) serve something itself 172. Not necessarily the best database from technology standpoint (default ending lacks ACID, transactions, concurrency) but still does a good job. 182. Reports on server – no recommendations (documentation on site explains a lot, however) 189. Can also list queries which do not have indexes (if you choose) 191. Helped me identify that the COUNT(*) query used through the search module was cause for site search crawl 192. Removed count with a base query which cut the search query and render to less than half the time 215. Set this value to be 50 – 80% of total memory you wish to allocate towards MySQL 228. Drupal 7 will require 5.2.x, as do a few current 6.x contributed modules 262. Can easily be over 100 MB (depending on drupal modules installed, apache modules enabled on server, etc) 265. Don’t use it now (inefficient, each request forks process) 302. Aggressive cache is not compatible with all modules (statistics from core) but can provide better performance. 311. Requires changes to .htaccess files and symlinks (admin section of module now shows what to write into htaccess file) 314. Can also use module to display site while in maintenance mode (only uncached pages and authenticated users will get maintenance mode page) 315. Development Seed has case study on using boost for Anti Poverty event site that notes performance gain by nearly 1000 times (http://tinyurl.com/l7ktfy) 333. With nearly 1M nodes, search on zimmertwins.ca would take over 30 seconds. 342. Not as fast as ApacheSolr, but easy to install and can work with that before moving on to Solr 352. Is an Amazon Machine Image to be used as instance of Amazon EC2 363. Create own module and override original mechanism if process is called through form builder (change the submission or validation to point to yours) 365. User login on zimmertwins.ca was painfully slow (5+ seconds per user) 372. As a note, d.o has also been patched (login has required matching case for past few months) 376. Added update to module that requires this schema change (my own module) 380. Save variable to memory for future use so processing is not done multiple times Editor's Notes Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like Show what top looks like