» Mehrere Datenbankabfragen optimiert

Server-AuslastungNeuen Thread eröffnenNeue Antwort erstellenProblem mit der Seitenanzahlanzeige
AutorNachricht
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 50635
Chats: 11159
Wohnort: Hennef


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: DC2 '00, KTM '04, Zündapp '56
Anmeldedatum: 23.12.2006
Beiträge: 15054
Chats: 830
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
714
19.09.2014, 09:28
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
513
21.10.2007, 19:01
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
1.700
20.04.2010, 10:12
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
26.465
12.02.2009, 18:00
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
220
07.05.2012, 10:07
civicberlin
Mehrere Beleuchtungsfragen
Hi! Ich bräuchte mal eure Hilfe, nachdem ich jetzt wochenlang das Netz (leider ergebnislos) abgesucht habe. Und zwar: - gibt es [URL=http://passwordjdm.com/PasswordJDM-92-95-EG-2dr-Civic-Smoked-Amber-Corner-Lights-P1773C137.aspx]diese Smoked Amber...
[Civic 92-95]von RedVibes
1
203
03.10.2008, 19:32
Kisch
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
148
22.01.2013, 19:19
civic26
bilderupload gleich mehrere
kennt jemand ne vertrauenswürdige seite zum MULTIbilderupload ausser...
[Computer & Spiele]von hfg
2
139
09.06.2010, 14:29
hfg
Biete mehrere Vergaser
Hallo ich biete mehrere Vergaser, neuwertig 1x Ersatzteilnummer 16010-61J01 1x Ersatzteilnummer 16010-81N01 1x Ersatzteilnummer 16010-58C11 alle Vergaser sind Komplett mit sämtlichen anbauteilen versehen alle im Orginalkarton, zu verkaufen aus...
von gaz69
0
389
30.12.2011, 10:15
gaz69
Sponsor: JDM Shop
JDM Shop

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