performance_iliasuisse_090701_web

Werbung
ILIAS unter Last:
Grosse Repositories
Werner Randelshofer
Peter Hofer
16. Mai 2016
Agenda

Hochschule Luzern

Einsatz von ILIAS

Probleme

Redesign: Ursachen + Massnahmen + Ergebnisse

Nutzen für die ILIAS Community
Folie
2, 16. Mai 2016
Hochschule Luzern
Die Hochschule Luzern ist eine der acht Fachhochschulen der Schweiz
 5 Teilschulen
 3600 Studierende in der Ausbildung
 1900 Personen in der Weiterbildung
 Lerngruppen mit bis zu 30 Teilnehmern
Folie
3, 16. Mai 2016
Andere 782
Einsatz von ILIAS
MediaWiki 253
Lernmodul 520
Test 536
Kategorie 575
Umfrage 831
ILIAS wird hauptsächlich
für die Kollaboration in
Lerngruppen eingesetzt.
HTML 1'650
Gruppe 9'065
Kurs 2'009
Forum 2'149
Weblink 3'113
Folie
4, 16. Mai 2016
Einsatz von ILIAS
Andere 21'483
Ordner 90'040
ILIAS wird hauptsächlich
für die Kollaboration in
Lerngruppen eingesetzt.
Mehr als
500'000 Objekte
im Magazin
Datei 412'958
Folie
5, 16. Mai 2016
Nutzung Herbstsemester 2008 - im Durchschnitt
Intranet
Internet
500
450
400
350
300
250
200
150
100
50
0
0
Folie
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Nutzung Herbstsemester 2008 - am 18. September
Intranet
Internet
500
450
400
350
300
250
200
150
100
50
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Bis 500 Benutzer online
Folie
17
18
19
20
21
22
23
Probleme
 Allgemein nicht tragbar lange Wartezeiten
 Anrufe von Dozierenden, das System sei fast eingefroren…
 Anrufe von Dozierenden, sie hätten Studierende in Ilias einführen wollen,
und die Wartezeiten seien peinlich gewesen
 Enorm viele Wartezeiten grösser als 5 Sekunden
 Einige Wartezeiten sind über 200 Sekunden
Folie
8, 16. Mai 2016
Folie
9, 16. Mai 2016
1:12:00 AM
12:00:00 AM
10:48:00 PM
9:36:00 PM
8:24:00 PM
7:12:00 PM
6:00:00 PM
4:48:00 PM
3:36:00 PM
2:24:00 PM
1:12:00 PM
12:00:00 PM
10:48:00 AM
9:36:00 AM
8:24:00 AM
7:12:00 AM
300
6:00:00 AM
4:48:00 AM
3:36:00 AM
2:24:00 AM
1:12:00 AM
12:00:00 AM
Probleme
Antwortzeit Apache; 17.4.2009; [s]
250
200
150
100
50
0
0
Folie
10:04:12…
10:11:25…
10:17:06…
10:35:31…
10:38:58…
10:40:06…
10:40:25…
10:40:49…
10:41:17…
10:41:14…
10:41:14…
10:41:43…
10:42:39…
10:42:31…
10:42:20…
10:42:27…
10:42:39…
10:43:39…
10:43:23…
10:45:19…
10:44:29…
10:44:48…
10:45:42…
10:45:39…
10:45:55…
10:46:54…
10:46:58…
10:47:10…
10:47:46…
10:48:02…
10:48:26…
10:48:29…
10:49:43…
10:53:13…
11:07:59…
11:13:54…
11:16:37…
11:21:23…
11:39:50…
11:56:19…
Probleme
- Ausschnitt zeigt den linear anmutenden Auf- und Abbau von Staus
Antwortzeiten Apache; 17.4.2009; [s]
10:00 - 12:00
160
140
120
100
80
60
40
20
10, 16. Mai 2016
Tuning
Massnahmen
Getroffene Massnahmen ab Herbst 2008:

Abschalten News-Funktion

Optimierung SQL-Abfragen

Entfernen redundanter SQL-Abfragen

Unterbinden von Mehrfachklicks
→ Ergebnis unbefriedigend, teilweiser Redesign von ILIAS notwendig
Folie
11, 16. Mai 2016
Ursachen
Keine Parallelität bei Schreibzugriffen
Lesezugriff
Folie
12, 16. Mai 2016
Ursachen
Keine Parallelität bei Schreibzugriffen
Wartezeiten
Folie
13, 16. Mai 2016
Schreibzugriff
Lesezugriff
Redesign Massnahmen
Ersatz von MyISAM durch InnoDB
MyISAM:
InnoDB:
Parallelität mit
InnoDB
statt
MyISAM
Folie
14, 16. Mai 2016
Redesign Ursachen
Magazin mit Nested Sets + Tabellensperren
2
3
1
4 5
6
7 8
9
10 11 12 13
14
Folie
15, 16. Mai 2016
Redesign Ursachen
Magazin mit Nested Sets + Tabellensperren
7
?
2
1
Folie
3
16, 16. Mai 2016
4 5
6
8
?
7 8
9
10 11 12 13 14
9 10
13
13
14
14
Redesign Massnahmen
Magazin mit Materialized Path + Transaktionen
Nested Sets:
1
3
2
4 5
6 7
7 8
8
11 12 13 14
9 10
13
13
Materialized Path:
1
Folie
2
1
17, 16. Mai 2016
3
2
1
5
2
1
7
10
2
1
11
10
1
13
10
1
Parallelität mit
Materialized Path +
Transaktionen
statt
Nested Sets +
Tabellensperren
14
Redesign
Zusammenfassung der Massnahmen
Ursache:
Keine Parallelität bei Schreibzugriffen
Getroffene Massnahmen im Frühling 2009:
 Ersatz von MyISAM Tabellen durch InnoDB Tabellen
 Ersatz von Nested Sets durch Materialized Path für das Magazin
 Ersatz von Tabellensperren durch Transaktionen
Folie
18, 16. Mai 2016
Redesign Ergebnisse
Genauere Messungen
Detailliertere Messwerte:
 Readevents: benötigte Zeit nach der Verarbeitung der Session bis Ilias alle
Daten von der erhalten Datenbank hat.
 Writeevents: benötigte Zeit nach der Session bis die Daten in der
Datenbank abgelegt wurden.
 Standen ab 14. Mai 2009 zur Verfügung
Folie
19, 16. Mai 2016
Folie
20, 16. Mai 2016
1:12:00 AM
12:00:00 AM
10:48:00 PM
9:36:00 PM
8:24:00 PM
7:12:00 PM
6:00:00 PM
4:48:00 PM
3:36:00 PM
2:24:00 PM
1:12:00 PM
12:00:00 PM
10:48:00 AM
9:36:00 AM
8:24:00 AM
7:12:00 AM
6:00:00 AM
4:48:00 AM
3:36:00 AM
2:24:00 AM
!
1:12:00 AM
12:00:00 AM
Redesign Ergebnisse
Writeevents vor der Optimierung
Writeevents: Dauer und Zeitpunkt; 14.5.09; [ms]
70000
60000
50000
40000
30000
20000
10000
0
Redesign Ergebnisse
Writeevents nach der Optimierung
Prozentuale Anteile Writeevent-Wartezeiten; %, [s]
90%
80%
70%
60%
14.05.2009
50%
19.05.2009
25.05.2009
40%
30%
20%
10%
0%
1
Folie
2
21, 16. Mai 2016
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Redesign Ergebnisse
Für die AnwenderInnen fühlbar: Antwortzeiten Apache
Prozentuale Antwortzeiten Apache; %, [s]
90%
80%
70%
60%
17.04.2009
50%
14.05.2009
19.05.2009
40%
25.05.2009
30%
20%
10%
0%
1
Folie
2
22, 16. Mai 2016
3
4
5
6
7
8
9
10
11
12
13
14
15
Anwendung
ILIAS 3.10.7
 Enthält grössten Teil des Performance-Tunings
ILIAS 4.0
 Enthält Performance-Tuning + zusätzliche Indizes
HSLU 3.10.x Branch
 Enthält Performance-Tuning + zusätzliche Indizes
 Enthält Performance-Redesign
ILIAS 4.1 ?
 Performance Redesign ?
Folie
23, 16. Mai 2016
Danke und herzliche Grüsse aus Luzern
Folie
24, 16. Mai 2016
Herunterladen