Diese Hilfeseite für Vorlagenprogrammierer beschreibt Begrenzungen der Wikisyntax, die bei sehr großen Seiten oder solchen mit sehr vielen Vorlagen dazu führen können, dass die Seite nicht richtig angezeigt wird.
Man mag sich darüber streiten, ob ein Schwellenwert von 40 oder 50 der geeignete sei, oder ob es statt 500 lieber 1000 sein dürfen. Gleichwohl sind Begrenzungen notwendig:
Auf dieser Hilfeseite wird der Begriff „Vorlage“ auch für beliebige eingebundene Wikitext-Seiten verwendet; er gilt weiterhin analog für die Programmierung in Lua wie für die klassische Vorlagensyntax.
Bezeichnung | Grenzwert | Erläuterungen |
---|---|---|
CPU-Zeit (Sekunden) CPU time usage cputime |
| |
Echtzeitbedarf (Sekunden) Real time usage walltime | ||
Besuchte Knotenanzahl des Präprozessors Preprocessor visited node count ppvisitednodes | 1000000 |
|
Erzeugte Knotenanzahl des Präprozessors Preprocessor generated node count ppgeneratednodes | 1500000 |
|
Einbindungsgröße nach dem Expandieren (Bytes) Post-expand include size postexpandincludesize | 2097152 |
|
Vorlagenargumentgröße (Bytes) Template argument size templateargumentsize | 2097152 |
|
Höchste Expansionstiefe Highest expansion depth expansiondepth | 100 | Verschachtelungstiefe
Stellt man sich alle Seiteneinbindungen expandiert vor, ist es die maximale Anzahl nacheinander geöffneter geschweifter Klammerpaare |
Anzahl aufwändiger Parserfunktionen Expensive parser function count expensivefunctioncount | 500 | Typische Vertreter:
|
Verschachtelungstiefe bei der Auflösung von MediaWiki-Elementen („Unstrip“) überschritten. | 20 | Sinnvoll vorstellbar wären 3–4 Ebenen, auf denen MediaWiki-Tags andere MediaWiki-Tags einschließen könnten.
|
Textgröße bei der Auflösung von MediaWiki-Elementen („Unstrip“) überschritten. | 5000000 Bytes (5 MiB) |
|
Lua-Zeit (Sekunden) Lua time usage scribunto .limitreport-timeusage | 10 | Anteil der CPU-Zeit, in der ausschließlich Lua-Code ausgewertet wird. |
Lua-Speichernutzung (MB) Lua memory usage scribunto .limitreport-memusage | 50 | |
Wikidata-OjekteEntityAccessCount | 400 | Anzahl eingebundener Wikidata-Ojekte, ausgenommen des eigenen Items der Seite. |
In der Regel und bei normalen (und damit recht kleinen) Seiten werden die Grenzwerte bei weitem nicht erreicht. Nur wenn es Darstellungsprobleme gibt oder deshalb zu einer vorhandenen Vorlagenprogrammierung eine effizientere Struktur ausgetüftelt werden muss, sind die Daten zu analysieren.
Der „PP Report“ gibt für die aktuelle Seite die benötigte Ressourcennutzung an.
Es wird ein JavaScript-Konfigurationsparameter wgPageParseReport
generiert.
<script>script>
am Ende des Dokuments; nach Inhalten und Fußzeilen.(window.RLQ=window.RLQ||[]).push(function(){mw.config.set( { "wgPageParseReport": { "limitreport": { "cputime": "0.100", "walltime": "0.126", "ppvisitednodes": { "value": 405, "limit": 1000000 }, "ppgeneratednodes": { "value": 0, "limit": 1500000 }, "postexpandincludesize": { "value": 7879, "limit": 2097152 }, "templateargumentsize": { "value": 617, "limit": 2097152 }, "expansiondepth": { "value": 6, "limit": 40 }, "expensivefunctioncount": { "value": 0, "limit": 500 }, "timingprofile": [ "100.00% 92.359 1 -total", " 87.87% 81.154 1 Vorlage:Hilfe", " 10.33% 9.538 11 Vorlage:Anker", " 5.28% 4.877 11 Vorlage:Anker/code", " 2.98% 2.753 5 Vorlage:Hilfe/style" ] }, "scribunto": { "limitreport-timeusage": { "value": "0.048", "limit": "10.000" }, "limitreport-memusage": { "value": 1400206, "limit": 52428800 } }, "EntityAccessCount": 0, "cachereport": { "origin": "mw1212", "timestamp": "20160829130745", "ttl": 2592000, "transientcontent": true } } } );}); mw.config.set( { "wgBackendResponseTime": 268, "wgHostname": "mw1323" } );
Dieses Feature wurde im August 2016 eingeführt.
Der „NewPP limit report“ steht noch bis auf Weiteres im HTML-Quelltext jeder aus Wikitext generierter Seiten (also außer Spezialseiten) als Kommentar am Ende des Content
-Bereichs innerhalb des Portalrahmens.
Content
wird gewertet. Spezialseiten haben deshalb keine solche Auswertung./wiki/
) wie auch in der Seitenvorschau.Beispiel (Kommentar):
Im Fußbereich der Quelltext-Seitenvorschau wird eine ausklappbare Tabelle gezeigt, aus der Vorlagenprogrammierer die aktuellen Werte entnehmen können, ohne erst im HTML-Quelltext nachsehen zu müssen.
preview-limit-report
angelegt mit den Werten collapsed
oder expanded
.Die Tabelle hat .limitreport
als CSS-Selektor und ließe sich bei Nichtgefallen ausblenden.
Beispiel (deutschsprachige Tabelle, mit class="duhoc-de preview-limit-report"
)
Genutzte CPU-Zeit | 18.665 Sekunden |
Genutzte Zeit | 18.862 Sekunden |
Vom Präprozessor besuchte Knoten | 595310/1000000 |
Vom Präprozessor erzeugte Knoten | 0/1500000 |
Einbindungsgröße nach dem Expandieren | 2097152/2097152 Bytes |
Vorlagenargumentgröße | 970555/2097152 Bytes |
Höchste Expansionstiefe | 24/40 |
Anzahl aufwändiger Parserfunktionen | 7/500 |
Unstrip-Rekursionstiefe | 0 von 20 |
Unstrip-Größe nach dem Expandieren | 8.354 von 5.000.000 Bytes |
Anzahl der geladenen Wikibase-Objekte | 0 von 400 |
Lua – Zeitnutzung | 2.819/10.000 Sekunden |
Lua – Speichernutzung | 1,79 MB/50 MB |
Der Konfigurationsparameter wgBackendResponseTime
enthält die Antwortzeit des Servers in ganzzahligen Millisekunden.
Seit August 2016 wird außerdem wgPageParseReport
definiert.
Traditionell und bis auf Weiteres wird in den HTML-Quelltext ein Kommentar wie nachstehend am Ende des Inhaltes (vor Fußzeilen und Portal-Rahmen) geschrieben:
Er identifiziert den Seiten-Cache des Inhalts. Möglicherweise wird er gelegentlich ebenfalls im JavaScript-Format generiert.
Für Lua ist die Länge expandierter Zeichenketten und die Knotenanzahl wenig relevant.
#invoke
und eine Handvoll Parameter tragen nicht auf; insbesondere wenn die Lua-Programmierung bereits in der Nähe der angezeigten Seite greift und dort komplexe Aufgaben löst und nicht erst vielfach in tieferen Schachtelungsebenen einsetzt.Maßgeblich ist die Begrenzung der Echtzeit.
Generell senkt der Einsatz von Lua den Ressourcenverbrauch einer stark mit Vorlagen bestückten Seite auf etwa ein Drittel.
Beim Überschreiten der Grenzwerte werden die Seiten in Wartungskategorien der Seitenbeschränkung überschritten eingeordnet.
Kandidaten für gesprengte Limits finden sich unter Spezial:Längste Seiten.
Wenn Grenzen überschritten werden, gibt es folgende Lösungsansätze:
This article uses material from the Wikipedia Deutsch article Hilfe:Vorlagenbeschränkungen, which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). Abrufstatistik Der Inhalt ist verfügbar unter CC BY-SA 4.0, sofern nicht anders angegeben. Images, videos and audio are available under their respective licenses.
®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki Deutsch (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.