Zum Inhalt springen

Vorlage:Coordinate/Test/Performance

aus Wikipedia, der freien Enzyklopädie

Vorlage:Dokumentation/Seitenhinweis Testfälle für die Performance von Coordinate; und eventueller Verbesserungen.

Beim Testen der Abrufzeiten fällt auf, dass die Messwerte jeweils zwischen zwei verschiedenen Bereichen hin und her springen, zum Beispiel liegt ein Teil der Werte bei 9,4 +/- 0,3 Sekunden, und der Rest bei 12,5 +/- 0,2 Sekunden. Anscheined gibt es zwei verschieden schnelle Gruppen von Servern, und man landet zufällig auf der einen oder dem anderen (und zwar häufiger auf der schnelleren, die hat wohr mehr Server).

Um das statistisch auszugleichen, wären sehr umfangreiche, aufwändige Messreihen nötig. Stattdessen wurden ab Messreihe 2 einfach nur noch die Zeiten des jeweils schnelleren Servers berücksichtigt. Dadurch ergeben sich recht gering gestreute und sehr gut vergleichbare Ergebnisse.


Messreihe 3

Genauigkeit der Abrufzeit-Differenzen bei +/- 1-2%

text=Lage Vorlage:Coordinate/Test/Neu [1] Vorlage:Coordinate [2]
Datum    Abrufzeit<ref name=messung />    max. Koordinaten<ref name=max /> Preproc. node count<ref name=ppnc /> Abrufzeit<ref name=messung>in Sekunden pro 100 Koordinaten, Mittelwert des schnelleren Servers (s.o.) von 15 abwechselnden Messungen mit purge; Messung mit timeit wget unter Windows, komplette Übertragung von HTTP-Request und Antwortdaten mit 2 MBit DSL</ref> max. Koordinaten<ref name=max>2048000 / Post-expand include size * 100, abgerundet</ref> Preproc. node count<ref name=ppnc>bei 100 Koordinaten + etwas Overhead für die Testseite</ref>
29. Juli 2011, 17:30<ref name=tooltip /> 7,5   -27%   487   -21%   44.678 10,3   615   62.878
18. Juli 2011, 20:30<ref name=tooltip /><ref name=msg /> 8,4   -17%   484   -21%   49.878 10,1   615   62.878
17. Juli 2011, 0:00<ref name=tooltip /><ref name=msg /> 8,2   -14%   482   -22%   49.078 9,5   615   62.878
16. Juli 2011, 6:45<ref name=tooltip>gegenüber der alten Vorlage gibt es eine zusätzliche Tooltip-Koordinatenanzeige, die etwas Performance und Speicherplatz kostet</ref><ref name=msg>ständig eingebundene {{CoordinateMSG}} verschlechtert die Messwerte der neuen Vorlage</ref> 7,9   -16%   491   -20%   46.878 9,4   615   62.878
text=DMS Vorlage:Coordinate/Test/Neu [3] Vorlage:Coordinate [4]
Datum    Abrufzeit<ref name=messung />    max. Koordinaten<ref name=max /> Preproc. node count<ref name=ppnc /> Abrufzeit<ref name=messung /> max. Koordinaten<ref name=max /> Preproc. node count<ref name=ppnc />
17. Juli 2011, 4:20<ref name=msg /> 8,7   -30%   377   -12%   53.678 12,5   429   81.678

<references />

Messreihe 2

Testfall Abrufzeiten, 16. Juli 6:45-7:00 <ref>in Sekunden pro 100 Koordinaten, Mittelwert des schnelleren Servers (s.o.) von 10 abwechselnden Messungen mit purge</ref><ref name=wget>Messung mit timeit wget unter Windows, komplette Übertragung von HTTP-Request und Antwortdaten mit 2 MBit DSL</ref> Preprocessor node count Post-expand include size Template argument size
Bytes T.M.C.<ref>Theoretische maximale Koordinatenzahl pro Artikel, wenn der Artikel sonst keine Vorlagen enthalten würde</ref>
Vorlage:Coordinate/Test/100coord/Coordinate (original mit text=Lage) 9,4 62.878 333.096 615 116.615
Vorlage:Coordinate/Test/100coord/CoordinateDMS (original mit text= DMS) 12,6 81.678 476.491 429 129.330
Vorlage:Coordinate/Test/100coord/Lage (Vorlage:Lage) 1,9 7976 83.116 2464 15.409
Vorlage:Coordinate/Test/100coord/CoordinateFull (Benutzer:PM3/Coordinate mit simple=n) 10,0 67.780 383.407 534 123.333
Vorlage:Coordinate/Test/100coord/CoordinateSimple (Benutzer:PM3/Coordinate mit simple=y) 2,3 12.480 114.670 1786 23.927
Vorlage:Coordinate/Test/100coord/CoordinateNeu (Vorlage:Coordinate/Test/Neu mit text=Lage) 7,9 46.878 416.534 491 156.679
die einzelnen Messwerte
Coordinate "Lage" Coordinate DMS Lage PM3/Coordinate simple=n PM3/Coordinate simple=y CoordnateNeu "Lage"
9,3 16,7 1,9 13,2 4,1 7,8
9,3 16,8 1,9 13,3 2,3 7,5
9,8 12,6 2,0 9,9 2,3 7,7
9,4 12,3 1,9 10,2 2,3 9,7
9,2 12,4 2,3 9,9 2,3 10,0
9,3 12,9 2,3 13,3 2,3 7,8
9,3 16,6 1,9 13,2 2,3 7,8
9,9 16,7 1,9 10,1 2,3 7,5
12,3 12,4 1,9 13,2 2,9 7,6
12,5 13,1 2,4 9,9 2,8 10,0

<references />

Messreihe 1

Die Vorlage:Lage und die Benutzer:PM3/Coordinate enthielten hier noch Prüfcode für den region-Parameter, die Vorlage:Coordinate nicht. Dadurch sind die Messwerte nur eingeschränkt vergleichbar.

Testfall Antwortzeiten, 14. Juli ~22:00 <ref>in Sekunden pro 100 Koordinaten, Mittelwert über 5 Messungen mit purge</ref><ref>Messung mit YSlow im FF 5.0 unter Windows, von send request bis Load Event.</ref> Preprocessor node count Post-expand include size Template argument size
Vorlage:Coordinate/Test/100coord/Coordinate (original mit text=Lage)<ref name="exklReg">ohne region-Prüfung</ref> 11 62.878 333.096 116.615
Vorlage:Coordinate/Test/100coord/CoordinateDMS (original mit text= DMS)<ref name="exklReg"/> 16 81.678 476.491 129.330
Vorlage:Coordinate/Test/100coord/Lage (Vorlage:Lage)<ref name="inklReg">inklusive region-Prüfung</ref> 4 6594 69.488 13.682
Vorlage:Coordinate/Test/100coord/CoordinateFull (Benutzer:PM3/Coordinate mit simple=n)<ref name="exklReg"/> 12 67.779 475.333 123.133
Vorlage:Coordinate/Test/100coord/CoordinateSimple (Benutzer:PM3/Coordinate mit simple=y)<ref name="inklReg"/> 5 7490 104.405 15.173

<references />

timeit / wget

Verwendete Batchdatei zum Messen der Vorlagenperformance; Windows XP; timeit aus dem Windows Resource Kit von Microsoft, wget von hier.

timeit wget "http://de.wikipedia.org/w/index.php?title=Vorlage:Coordinate/Test/100coord/Coordinate" --post-data action=purge -O NUL -q
timeit wget "http://de.wikipedia.org/w/index.php?title=Vorlage:Coordinate/Test/100coord/CoordinateDMS" --post-data action=purge -O NUL -q
timeit wget "http://de.wikipedia.org/w/index.php?title=Vorlage:Coordinate/Test/100coord/Lage" --post-data action=purge -O NUL -q
timeit wget "http://de.wikipedia.org/w/index.php?title=Vorlage:Coordinate/Test/100coord/CoordinateFull" --post-data action=purge -O NUL -q
timeit wget "http://de.wikipedia.org/w/index.php?title=Vorlage:Coordinate/Test/100coord/CoordinateSimple" --post-data action=purge -O NUL -q
timeit wget "http://de.wikipedia.org/w/index.php?title=Vorlage:Coordinate/Test/100coord/CoordinateNeu" --post-data action=purge -O NUL -q