OBS/Adminhilfe/OBSAdministration/Protokolle/SpeedtestProto: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „{{ZugriffOBS}} Kategorie:Adminhilfe = Speedtest-Protokoll (SPEEDTEST_PROTO) = Die Tabelle '''SPEEDTEST_PROTO''' speichert die Ergebnisse des OBS-Datenbank-Speedtests. Sie wird '''wöchentlich sonntags''' automatisch durch die Garbage Collection befüllt (siehe {{{!}} Garbage_Collection) und liefert eine langfristige Historie aller Messungen für spätere Versions- oder Hardwarevergleiche. Pro Lauf wird '''je Block''' eine Zeile geschrieben. All…“) |
KKeine Bearbeitungszusammenfassung |
||
| Zeile 145: | Zeile 145: | ||
* '''Cleanup:''' Die Speed-Tabellen werden vor und nach dem Lauf geZAPt. Bleiben dort im Fehlerfall Zeilen stehen, sind diese ignorierbar – sie werden beim nächsten Lauf erneut entfernt. | * '''Cleanup:''' Die Speed-Tabellen werden vor und nach dem Lauf geZAPt. Bleiben dort im Fehlerfall Zeilen stehen, sind diese ignorierbar – sie werden beim nächsten Lauf erneut entfernt. | ||
* '''Keine manuelle Löschung nötig:''' Das Wachstum ist gering (~10 Zeilen pro Woche, also einige KB pro Jahr). Die Historie bleibt dauerhaft erhalten. | * '''Keine manuelle Löschung nötig:''' Das Wachstum ist gering (~10 Zeilen pro Woche, also einige KB pro Jahr). Die Historie bleibt dauerhaft erhalten. | ||
Aktuelle Version vom 23. April 2026, 12:43 Uhr
Dies ist eine zugriffsgeschützte Seite.
- System Überwachung
- DEP deaktivieren
- Darstellung unter Windows 7
- Einwahl auf Windows 2000 Server
- Preislisten
- Datenbank Sicherung
- Customize
- Zentrale
- Support Macro
- Service Debug
- Historienprotokoll (Datenänderung OBS)
- Fernwartungsprobleme
- Startparameter
- Fehler beim Kassenabschluss
- Diverse Informationen
- A ras.pbk
- B Command Line Interpreter
- C File Zilla Benutzer XML erzeugen
- D1 OBS_UPDATE.EXE zum OBS Update Server hochladen
- D2 SUPPORT_MACRO zum OBS Update Server hochladen
- H1 Remote Service Protokoll-Übersicht (Alles)
- H Remote ServiceProtokoll-Übersicht
- I Remote Service Commands
- I1 (Admin) Globaler Hinweis für Updates
- J Liste der OBS Updates
- K Angemeldete Service Firmen
- L Systeminformationen einlesen
- M Kundendaten anzeigen
- M1 Kundendatenbankinformationen anzeigen
- N Kundendaten einlesen
- O Kunden-Update Informationen anzeigen
- P Modul Registrierung OBS
- Q App Verwaltung
- S1 Firmen Statistik Protokolle OBS
- S2 Statistik Notfallkassen
Speedtest-Protokoll (SPEEDTEST_PROTO)
Die Tabelle SPEEDTEST_PROTO speichert die Ergebnisse des OBS-Datenbank-Speedtests. Sie wird wöchentlich sonntags automatisch durch die Garbage Collection befüllt (siehe {| Garbage_Collection) und liefert eine langfristige Historie aller Messungen für spätere Versions- oder Hardwarevergleiche.
Pro Lauf wird je Block eine Zeile geschrieben. Alle Zeilen eines Laufs teilen sich die gleiche SPT_RUNID, so dass sich ein kompletter Lauf einfach filtern lässt. Die Retention ist unbegrenzt – Einträge werden nie automatisch gelöscht.
Felder der Tabelle
| Feld | Typ | Breite | Bedeutung |
|---|---|---|---|
| SPT_RUNID | C | 14 | Lauf-Kennung im Format yyyymmddhhnnss. Alle Zeilen eines Laufs haben die gleiche RunID.
|
| SPT_DATUM | D | 4 | Startdatum des Laufs. |
| SPT_ZEIT | C | 8 | Startuhrzeit im Format HH:MM:SS.
|
| SPT_HOST | V | 60 | Rechnername (COMPUTERNAME), auf dem der Test lief.
|
| SPT_DBVERSION | V | 30 | Server-Version der DB (z. B. MySQL 8.4.8) oder CPU beim CPU-Test.
|
| SPT_BLOCK | V | 40 | Name des Test-Blocks (siehe Liste unten). |
| SPT_ITER | N | 10,0 | Anzahl der Iterationen in diesem Block. |
| SPT_MIN_MS | N | 12,3 | Kleinste gemessene Zeit pro Iteration in Millisekunden. |
| SPT_AVG_MS | N | 12,3 | Arithmetisches Mittel der Iterations-Zeiten in ms. |
| SPT_MED_MS | N | 12,3 | Median der Iterations-Zeiten in ms. |
| SPT_MAX_MS | N | 12,3 | Längste gemessene Zeit pro Iteration in ms. |
| SPT_STD_MS | N | 12,3 | Standardabweichung der Iterations-Zeiten in ms. |
| SPT_OPSSEC | N | 10,0 | Durchsatz in Operationen/Sekunde – nur beim Concurrency-Block gefüllt, sonst 0. |
| SPT_STATUS | V | 30 | OK, FAIL oder SKIPPED (siehe Status-Werte).
|
| SPT_INFO | V | 200 | Zusatzinformation (z. B. Grund für SKIPPED, Fehlermeldung, Concurrency-Worker-Anzahl). |
| SPT_DURATION_S | N | 8,0 | Gesamtdauer des Laufs in Sekunden. In jeder Zeile eines Laufs gleich. |
| SYS_UID | C | 10 | Technische UID des Datensatzes (vom OBS-Framework vergeben). |
| SYS_DATE | D | 4 | Anlagedatum des Datensatzes (AUTODATE). |
Mögliche Werte für SPT_BLOCK
Jeder Eintrag in dieser Spalte entspricht einem abgegrenzten Messblock. Die folgenden Blöcke werden beim wöchentlichen DB-Speedtest geschrieben:
| Block | Was wird gemessen |
|---|---|
roundtrip_seek_pk |
Zeit für einen einzelnen Seek per Primärschlüssel – Grundlast Netzwerk + Index-Lookup. |
blob_write |
Schreiben eines ca. 250 KB großen BLOBs pro Iteration. |
blob_read_verify |
Lesen und Verifizieren der zuvor geschriebenen BLOBs. |
insert_single_commit |
Einzelinserts mit individuellem COMMIT – typische Auftragsposition. |
insert_batch_1000 |
Batch-Insert von 1000 Zeilen pro Lauf (mehrere Durchläufe). |
seek_indexed |
Seek auf indiziertem VARCHAR-Feld. |
seek_unindexed |
Seek ohne Index – ergibt Full-Table-Scan. |
aggregate_count_sum |
Aggregat-Query (COUNT + SUM) über die Speed-Tabellen. |
concurrent_insert_Nt |
Parallele Inserts mit N Worker-Threads über N_CONCURRENCY_SECS Sekunden. Standard concurrent_insert_4t. Hier sind die Zeitspalten leer (-1), stattdessen wird der Durchsatz in SPT_OPSSEC gespeichert.
|
Wird der CPU-Test separat aufgerufen, stehen zusätzlich diese Blöcke im Report (nicht in
der Tabelle):
cpu_float, cpu_int, cpu_mem_structures,
cpu_mem_alloc, cpu_hash_md5.
Status-Werte
| Wert | Bedeutung |
|---|---|
OK |
Block regulär gemessen, keine Ausnahmen. |
FAIL |
Block lief in eine Exception; Details in SPT_INFO.
|
SKIPPED |
Block wurde ausgelassen, weil das Zeitbudget (N_BUDGET_MAX_SECS, Standard 900 s) überschritten war. Die Zeitspalten sind dann -1.
|
Automatische Ausführung
- Ausführung erfolgt nur sonntags durch
GarbageSpeedTestinnerhalb der Garbage Collection. - Es wird ausschließlich der DB-Speedtest automatisch ausgeführt – der CPU-Test nicht.
- Parallele Starts werden über die Semaphore
OBS_DB_Speedverhindert; ein manueller Menü-Aufruf und der Garbage-Lauf schließen sich gegenseitig aus. - Schreibfehler in die Tabelle kippen nicht den Rückgabewert des Tests – sie landen nur als Hinweis im ausgegebenen Report-Text (
note=proto_write_failed …). - Manuelle Aufrufe im OBS-Menü schreiben nicht in die Tabelle (nur Report-Ausgabe); erst der Parameter
lWriteProto=Trueaktiviert das Persistieren.
Beispiel-Abfragen
Trend eines einzelnen Blocks über die Zeit:
SELECT spt_datum, spt_zeit, spt_avg_ms, spt_max_ms FROM SPEEDTEST_PROTO WHERE spt_block = 'roundtrip_seek_pk' ORDER BY spt_datum, spt_zeit;
Letzten Lauf komplett anzeigen:
SELECT spt_block, spt_iter, spt_avg_ms, spt_max_ms, spt_opssec, spt_status FROM SPEEDTEST_PROTO WHERE spt_runid = (SELECT MAX(spt_runid) FROM SPEEDTEST_PROTO) ORDER BY spt_block;
Alle Fehlschläge der letzten 3 Monate:
SELECT spt_runid, spt_host, spt_block, spt_info
FROM SPEEDTEST_PROTO
WHERE spt_status IN ('FAIL','SKIPPED')
AND spt_datum >= CURDATE() - INTERVAL 90 DAY
ORDER BY spt_datum DESC;
Hinweise
- Vergleichbarkeit nur bei gleicher Hardware: Messwerte sind absolute Millisekunden und damit nur innerhalb desselben Hosts und derselben DB-Version direkt vergleichbar. Bei Serverwechsel oder DB-Upgrades wird ein Bruch in den Trends sichtbar – Kontext dafür liefert
SPT_HOST/SPT_DBVERSION. - Concurrency-Block hat keine ms-Werte:
SPT_MIN_MS…SPT_STD_MSsind hier -1; für die Beurteilung zähltSPT_OPSSEC(Operationen/Sekunde über die Laufdauer). - SKIPPED nicht als Warnung verstehen: Es bedeutet nur, dass das globale Zeitbudget bereits überschritten war. Der Gesamtlauf bleibt dann trotzdem
OK, wenn kein Fehler auftrat. - Laufende Belastung: Ein Lauf dauert üblicherweise etwa 60–120 s. Während dieser Zeit laufen echte Schreib-/Lese-Zyklen gegen die Testtabellen
SPEEDBLOB,SPEEDTABELundSPEEDTABELVC– das ist spürbare Last, aber zeitlich begrenzt und wird durch die Sonntags-Ausführung am sensiblen Einsatzbetrieb vorbeigelegt. - Cleanup: Die Speed-Tabellen werden vor und nach dem Lauf geZAPt. Bleiben dort im Fehlerfall Zeilen stehen, sind diese ignorierbar – sie werden beim nächsten Lauf erneut entfernt.
- Keine manuelle Löschung nötig: Das Wachstum ist gering (~10 Zeilen pro Woche, also einige KB pro Jahr). Die Historie bleibt dauerhaft erhalten.