Caching of user-dependant content in Drupal | Kim Gad Thomsen
| Abstract | When 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. | Type | Bachelor of Engineering thesis [Industrial collaboration] | Year | 2012 | Publisher | Technical University of Denmark, DTU Informatics, E-mail: reception@imm.dtu.dk | Address | Asmussens Alle, Building 305, DK-2800 Kgs. Lyngby, Denmark | Series | IMM-B.Eng.-2010-85 | Note | Supervised by Finn Gustafsson, figu@imm.dtu.dk, DTU Informatics, and Henrik Jochumsen, CTO at Dwarf A/S. | Electronic version(s) | [pdf] | Publication link | http://www.imm.dtu.dk/English.aspx | BibTeX data | [bibtex] | IMM Group(s) | Computer Science & Engineering |
|