UNIVERSITY OF COLOGNE Workshop 2: Handling Large ILIAS Installations – Practical Example CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 1
WHAT IS A „LARGE“ ILIAS INSTALLATION? CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 2
– Facts (1) ( ) Static View: Objects in Database (table object_data): Objects sorted „by type“ Files Users Roles Folders Rolefolders CourseRoles Sessions MediaObject8.065 Courses7.588 Categories7.446 CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 3 Chats147 Glossaries138 crsg 125 sty 123 HTML-LM.110 Mediacasts 78 typ 64 SCORM-LM.62 MediaPools42 Languages23 WebLinks3.466 Groups Tests Forums Learn. Mod Exercises1.048 Quest.Pools791 Surveys353 SurveyPools 217 Wikis 163
Most significant Objects for Performance Purposes Files Users Roles Courses7.588 Groups CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 4
– Facts (2) ( ) Dynamic View - Months: –Files: CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 5
Dynamic View - Months CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 6
Dynamic View - Years CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 7
Dynamic View - Users Users logged in … –… last 24 Hours: –… last 7 Days: –… last 30 Days: –… last 90 Days: –… last 365 Days: (total [last login since 2008] ) CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 8
WHEN DO WE NEED “PERFORMANCE”? CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 9
When do we need Performance Many users are logged in ILIAS at the same time, e.g.: –Basic/Regular Scenarios -Beginning of the semester -Midterms -End of the semester –Special events -Online exams -Course Registration: first come first served CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 10
When do we need Performance Users doing special tasks (working progress), e.g.: –Instructor creates course –Students doing online-exams (specially with randomized question-pools) –Users entering a course with many sessions and/or groups CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 11
When do we need Performance Individually perceived velocity of ILIAS –The „Personal Desktop“ –The way through the repository CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 12
WHAT ELEMENTS ARE RELEVANT FOR “PERFORMANCE“ IN OUR SPECIAL CASE? CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 13
Elements which affect ‚our‘ performance Hardware Software ILIAS Organizational environment CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 14
Elements for Basic/Regular Scenarios Hardware Software ILIAS CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 15
Element: Hardware Our ILIAS Cluster consists of of several PE M600 Dual Quad-Core Xeon E GHz/2x6MB 1333FSB - 32 GB RAM from DELL ® -Computers Completely virtualized with VM-Ware ® ESX 3.5 CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 16
Element: Software Scripting/programming language: php Webserver Software: Apache HTTP Server Relational database management system: MySQL Loadbalancing Software: pound/heartbeat CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 17
Element: ILIAS considered components: –Database model/design (?) –Database tables CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 18
Focus set on for Analysis: Hardware Software: MySQL configuration ILIAS: Database Tables CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 19
Software: MySQL Daemon Case History: –Single signals about „performance issues“ (Mantis, individual dialogues on meetings about made experiences) –Data mining by means of analyzing and comparing mysqld-logfiles and slow-query- logs –Initiated Telephone Conference between Universities of Luzern, Stuttgart and Cologne plus Ralf Schenk from Databay CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 20
Compared Settings Number of Objects sorted by type: select type, count(*) as cnt from object_data group by type order by cnt desc; Number of user accounts, logged in last 30 days: select count(*) from usr_data where date(last_login) > date_sub(now(), interval 30 day); Status of mysqld: show global status; CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 21
Results (Selection) … CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 22
Luzern Cologne (1) Cologne (2) Stuttgart (1) Stuttgart (2) Uptime Uptime in Stunden Datum:Juni 2009 Nov. 2009Juni 2009Nov Com_replace Fast keine REPLACE-Statements in Luzern, wegen Umstellung auf INSERT... ON DUPLICATE KEY UPDATE... bei usr_session Com_update mal mehr Selects und Updates in Köln gegenüber Luzern. Com_select Com_lock_tables Keine Tabellen-Locks in Luzern, wegen Redesign Tree-Tabelle Verhältnis Lesen:Schreiben Im Verhältnis doppelt so viele Lesezugriffe pro Schreibzugriff in Köln gegenüber Luzern. Select_full_join Anzahl der Joins ohne Schlüssel. Wenn dieser Wert nicht 0 ist sollten die Indizes der Tabellen sorgfältig überprüft werden. Luzern ist hier viel besser, weil zusätzliche Indizes angelegt worden sind, und wegen Redesign Tree. Select_scan Anzahl der Joins, bei denen die erste Tabelle gescannt wurde. Luzern ist hier viel besser. Wahrscheinlich weil News-Funktion in Köln eingeschaltet ist, und wegen Redesign Tree in Luzern, weil alle Zugriffe auf die Tabelle "tree" über Indizes laufen. Open_tables Anzahl der geöffneten Tabellen. Anmerkung hier wird nicht der Stunden-Wert verglichen, sondern die gesamte Anzahl geöffnete Tabellen! Opened_tables Anzahl der Tabellen, die geöffnet wurden. Wenn Opened_tables hoch ist, ist Ihre table_cache-Variable wahrscheinlich zu niedrig. Table_locks_ immediate Wie oft eine Tabellensperre sofort erlangt wurde. Hier ist nicht klar, ob Luzern wirklich besser ist als Köln, da Köln 12-mal mehr Lesezugriffe als Luzern hat. Table_locks_waited Wie oft eine Tabellensperre nicht sofort erlangt werden konnte und gewartet werden musste. Wenn dieser Wert hoch ist und Sie Performance-Probleme haben, sollten Sie zunächst Ihre Anfragen optimieren und dann entweder Ihre Tabelle(n) zerteilen oder Replikation benutzen. Luzern ist hier viel besser, wegen Redesign Tree und InnoDB statt MyISAM.
ILIAS: Tables – Changes we made: Switched tables from Myisam to innodb: –catch_write_events –conditions –desktop_item –rbac_fa –rbac_operations –rbac_pa –rbac_ta –rbac_templates –rbac_ua –read_event –usr_data –usr_pref –usr_session –ut_online –write_event Not yet switched: –chat_invitations –dav_lock –dav_property –history –mail –mail_options ILIAS Conference Budapest 2009 Folie: 24
ILIAS: Tables – Further changes: Indexes set: –Table crs_items, field obj_id quickens display of course objects in repository –Table desktop_items, field item_id: quickens deleting objects from system –Table cal_categories, field obj_id: quickens display of minicalender (PD) CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 25
ORGANIZATIONAL SETTINGS AS AN ELEMENT OF „SYSTEM“ PERFORMANCE CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 26
Problems solved Creating new user accounts –LSF (KLIPS) – ILIAS Interface LDAP Authentication –LEIFOS made Perfomance improvements CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 27
Problems solved Online exams –Set up a new cluster (easy with VM-Ware ® ) –User administration via LSF (KLIPS) – ILIAS interface Course Registration: first come first served –LSF (KLIPS) – ILIAS Interface CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 28
Problems solved [Partially Solved] Instructor creates course –Courses are created via LSF (KLIPS) – ILIAS interface before semester beginning Students doing online-exams (specially with randomized question-pools) –new cluster CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 29
Problems solved Users entering a course with many sessions and/or groups –ILIAS – table switching Myisam - innodb CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 30
Results: You can´t compare ILIAS System environments Performance as a formula? -System Perfomance = a * Hardware + b * Software + c * ILIAS + d * Misc. -Factors ^ Scenarios (a+b+c+d = 1) CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 31
Thank you for your attention! CompetenceCenter E-Learning University of Cologne - Prorektorat für Lehre und Studium Mark Kusserow & Christian Bogen ILIAS Conference Budapest 2009 Folie: 32