Caching of user-dependant content in Drupal

Kim Gad Thomsen

AbstractWhen developing large-scale websites with the Content management system Drupal one of the larger challenges is to make the system perform under stress. Drupal is right now one of the most popular systems among those available. This is not because it is the best to work with as a developer neither is it because of the quality of the code in the core, it is simply just the easiest system to sell because there is not a free alternative to a system with such a large community and database with available modules, free to use.
The problem with this is when Drupal needs to handle a lot of concurrent requests (e.g. in peak hours of a newspaper website), especially if those requests is from users who is logged into the system and therefore cant be served a cached version of the requested page. When this happens, at some point the server will begin to crack under the stress of serving all those requests, and the weakest link in the setup is MySQL. The problem does not lie with MySQL itself, more the way Drupal uses is. When Drupal is serving a page it needs to get every information from the database, even the cached data. So even when serving a page as fast as possible, Drupal still needs to ask the database for information, this is a problem under stress. The result of this is the database server (In this case MySQL) is not getting enough CPU time to handle all the requests, and that is what is callled a Starvation Problem, and that is what I am trying to fix in this project.
TypeBachelor of Engineering thesis [Industrial collaboration]
Year2012
PublisherTechnical University of Denmark, DTU Informatics, E-mail: reception@imm.dtu.dk
AddressAsmussens Alle, Building 305, DK-2800 Kgs. Lyngby, Denmark
SeriesIMM-B.Eng.-2010-85
NoteSupervised by Finn Gustafsson, figu@imm.dtu.dk, DTU Informatics, and Henrik Jochumsen, CTO at Dwarf A/S.
Electronic version(s)[pdf]
Publication linkhttp://www.imm.dtu.dk/English.aspx
BibTeX data [bibtex]
IMM Group(s)Computer Science & Engineering