» Mehrere Datenbankabfragen optimiert

Caches / Zwischenspeicher wieder aktivNeuen Thread eröffnenNeue Antwort erstellenProblem mit der Seitenanzahlanzeige
AutorNachricht
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 52420
Wohnort: Lohmar


Meine eBay-Auktionen:
16.04.2015, 20:34
zitieren

Ich hatte ja heute mit Performance-Problemen zu kämpfen:
https://www.maxrev.de/server-monitoring-ueber-linux-was-sagen-mir-die-werte-t352069.htm

Beziehungsweise stellte sich schlussendlich heraus, dass einfach nur ein Backup lief und gar keine Probleme da waren.

Allerdings habe ich das trotzdem zum Anlass genommen und unser Forum auf sehr langsam laufende Datenbank-Abfragen hin überprüft. Im ersten Schritte habe ich dazu alle geloggt, die länger als 5 Sekunden dauern. Hier habe ich erwartet nicht ein Ergebnis zu erhalten, doch ich wurde eines besseren belehrt.

Folgende Abfragen wurden optimiert:

  1. Downloadzähler bei Dateianhängen
    Sobald dieser aktualisiert wurde und eine andere Abfrage auf die gleiche Datenbank lief, dauerte die Abfrage sehr lange. Gelöst durch Umstellung auf InnoDB und Hinzufügen eines neuen Index.
  2. Seitenaufrufe von Threads
    Sobald diese aktualisiert wurden, entstand das gleiche Problem wie zuvor. Mal eben auf InnoDB umstellen ging aber nicht, weil die aktuelle Technologie MyISAM für einen Volltextindex notwendig war. Die Lösung war schlussendlich für den Volltextindex eine zweite Tabelle nur für den Thread-Titel zu erstellen. Die läuft dann in MyISAM und die Haupttabelle läuft nun in InnoDB.
  3. Hinzufügen neuer Threads
    Gleiches Problem wie zuvor beschrieben, sollte damit nun auch gelöst sein.
  4. Hinzufügen neuer Premium-Mitglieder
    Die Gruppen-Tabelle hatte keinen Index auf die Mitglieder-ID. Der wurde nun erstellt. Damit ist auch das Problem gelöst.



Verfasst am: 16.04.2015, 21:14
zitieren

Seit 45 Minuten gab es keine langsame Datenbankabfrage mehr. Daher habe ich nun den Schwellwert auf 3 Sekunden reduziert. Mal sehen ob jetzt was aufgezeichnet wird.

Verfasst am: 17.04.2015, 15:51
zitieren

Und weiter gehts:

  1. Bilder-Index
    Wir haben eine Seite vorrangig für die Suchmaschine, damit die die Bilder schneller indexieren kann. Dessen Abfrage dauerte sehr lange. Erst dache ich sie in den Griff bekommen zu haben, aber ein simpler
    COUNT()
    hat mir dann einen Strich durch die Rechnung gemacht. Eine InnoDB Datenbank mag keinen simplen
    COUNT()
    . Ich bin daher hingegangen und habe den
    COUNT()
    nun in einen Cache schreiben lassen, der 1x am Tag aktualisiert wird. Schlussendlich ging es nämlich nur um die Seitennummerierung und deswegen muss ich nicht gleich die ganze Datenbank ändern. Update: Hat alles nicht geholfen. Da es nur ein Liste ist, habe ich mich dafür entschieden die Sortierung auf
    AUTO_INCREMENT
    aufzubauen. Damit werden pro Seite zwar nicht mehr exakt 1000 Bilder ausgegeben (z.B. wenn ein Dateianhang ein Video war oder schlicht gelöscht wurde), aber das merkt man nicht bei der Nutzung, daher ist die jetzige Lösung völlig in Ordnung.
  2. Duplicate entry Fehler
    Ich habe durch Zufall gesehen, dass ich gar nicht über alle MySQL-Fehler informiert werde. Als ich dann die Fehlermeldungen global aktivierte wurde ich quasi von einer Fehlermeldung erschlagen. Beim Lesen des Codes sind mir dann gleich drei Stellen aufgefallen, die man viel schneller umsetzen konnte, was ich dann auch gleich gemacht habe. Nun wird die Datenbank durch Gäste und Bots nur noch per Zufall aktualisiert und so bleibt der Duplicate Entry Fehler aus. Außerdem habe ich die Datenbankabfrage auf
    ON DUPLICATE KEY ... UPDATE
    geändert, so dass sowieso kein Fehler mehr resultieren kann.
  3. Login-Versuche
    Um Passwort-Diebe erkennen zu können loggen wir alle Login-Versuche. Diese Datenbank wurde immer größer bis zuletzt 7.290.307 Einträge drin standen. Das macht natürlich wenig Sinn, weshalb wir diese Datenbank nun regelmäßig alle paar Monate säubern. Jetzt sind z.B. nur noch 878.264 Einträge drin. Viel besser. Auch die Dateigröße der Tabelle ist massiv von 787 MB auf 171 MB reduziert worden. Das war übrigens der Grund warum es heute mehrere Ausfälle der Seite gab. Dass ein Löschvorgang so viel Power erfordert, hätte ich mir auch nicht gedacht :o

 2x  bearbeitet
pn email
Premium-Member 
Name: Daniel
Geschlecht:
Fahrzeug: MC2
Anmeldedatum: 23.12.2006
Beiträge: 15531
Wohnort: Mühldorf a. Inn
20.04.2015, 05:33
zitieren

Forum ist insgesamt deutlich schneller geworden.
:respekt: :max:


pn
Gast 
20.04.2015, 05:33
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "Mehrere Datenbankabfragen optimiert" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
2video.de wurde optimiert
Ab sofort akzeptiert www.2video.de nur noch Links, die auf HTML-Seiten verweisen. Damit werden fehlerhafte Links abgewiesen und beeinflussen so nicht mehr die allgemeine Performance von 2video.de. Weiterhin wurde ein Fehler im Eingabe-Formular...
von mgutt
3
2.305
22.12.2008, 13:53
mgutt
flock() Alternative mkdir() optimiert
Hi, nach diversen Tests kann ich sagen, dass flock() ein Performancekiller ist. Nicht weil der Befehl an sich langsam ausgeführt wird, sondern weil es schnell zu Staus kommt, wenn hunderte verschiedene Prozesse parallel einen flock() ausführen. Erstmal...
von mgutt
3
1.563
19.09.2014, 09:28
mgutt
Webalizer Tuning - Wie man die Auswertung optimiert
Der Webalizer wird häufig unterschätzt, weil er angeblich "falsche" Daten auswirft. Fakt ist aber, dass der Webalizer in der Standardeinstellung einfach nur alles auswertet, was er in den Logfiles findet und das macht er richtig. Gerne wird mit...
von mgutt
1
32.105
12.02.2009, 18:00
mgutt
Ladezeit beim Bearbeiten von Beiträgen optimiert
Wenn man seinen Beitrag bearbeiten möchte, dann dauerte das Laden des Formulars mit unter bis zu 60 Sekunden. Natürlich hat sich keiner von Euch darüber beschwert :suspekt: Jedenfalls habe ich das behoben. Lädt jetzt wieder sofort. Es fehlte einfach nur...
[Ankündigungen]von mgutt
0
130
03.02.2017, 09:13
mgutt
 Automatische Bilderverkleinerung beim Anschauen optimiert
Alle Bilder in Beiträgen werden bekanntlich verkleinert, wenn diese größer sind als die aktuell eingesetzte Bildschirmauflösung. Bisher galt das nur für fremdgehostete Bilder. Das wurde jetzt auch auf Bilder erweitert, die bei uns hochgeladen wurden....
Seite 2, 3 [Ankündigungen]von mgutt
22
2.009
20.04.2010, 10:12
mgutt
Mehr Funktionalität: Bedienung weiter optimiert
Ebenfalls modifiziert wurde die Mittelkonsole: Sie nimmt nun die Digitaluhr auf und bietet einen vergrößerten und leichter erreichbaren Warnblickschalter. Im unteren Bereich findet sich jetzt - ebenfalls leichter erreichbar - der Zigarettenanzünder. Ein...
von mgutt
0
553
21.10.2007, 19:01
mgutt
Bilstein 10 Härtestufen Fahrwerk muss eingestellt und optimiert werden.Weis jmd wo(berlin)
Vorne Rechts knackt es permanent egal ob beim gerade aus fahren oder abbiegen werkstatt sagt fahrwerk gibts noch andere gründe ? Spurstange wie kopf ist in ordnung...
[Type-R]von civicberlin
2
312
07.05.2012, 10:07
civicberlin
 Mehrere CRX ED9 aus HS
Heyho Leute hab hier in letzer Zeit mehrere CRX gesehn und vil. sind die Besitzer ja hier im Forum? Also zu erst der: [URL=http://img169.imageshack.us/i/foto2350.jpg/] [/URL] [URL=http://img98.imageshack.us/i/foto2347.jpg/] [/URL] Und der hier...
[CRX]von NoGoodNoodle
8
878
13.10.2013, 03:16
Crxsven
 mehrere Fragen zu em2
Hallo, vorab möchte ich gleich sagen, dass ich die SuFu benutzt habe, und sich viele Fragen schon erledigt haben... doch diese sind noch nicht geklärt: also ich möchte mir einen EM2 zulegen doch bin ich noch etwas am zweifeln. habe gehört der motor...
Seite 2 [Civic 01-05]von Coby
12
535
18.10.2011, 18:32
Coby
mehrere Fragen^^
also hab einen Honda civic ej6 und hab dieses Jahr mal n bisschen was vor damit^^ und hab da noch ein paar offene Fragen bezüglich ein paar Sachen 1. passt ein s20 Getriebe von einem eg3 plug and play oder muss da was beachtet werden? kupplung vom d16...
[Civic 96-00]von Detocs
7
216
22.01.2013, 19:19
civic26
Sponsor: Fullcartuning
Fullcartuning

© 2004 - 2024 www.maxrev.de | Communities | Impressum |