zu meinem 1. anliegen:
um die derzeitige performance meiner seite (die ohne gleichzeitige user online begrenzung täglich bei ca. 70 user total lahmt und bei ca. 80 user einen serverabsturz verursacht) vorrübergehend zu verbessern, bis die komplette überarbeitung abgeschlossen ist, habe ich mich informiert was ich momentan für möglichkeiten habe
ich habe irgendwo gelesen dass innodb tabellen eine bessere performance bieten, was mein problem evtl über diese zeitspanne löst, bzw. wenigstens mehr gleichzeitige user zulässt
nun frage ich mich, wie ich am besten die bestehenden tabellen mit allen datensätzen nach innodb konvertiere.
auf mysql.com bin ich auf folgendes gestossen:
http://dev.mysql.com/doc/mysql/de/SEC427.html
"Die schnellste Art, eine Tabelle in InnoDB zu ändern, ist, die Einfügungen direkt in eine InnoDB-Tabelle vorzunehmen, das heißt, ALTER TABLE ... TYPE=INNODB zu benutzen [...]"
ist es damit bereits getan? was sind die gefahren dabei, was kann mir auf dem laufenden system passieren? natürlich mache ich vorher ein backup, doch würde ich gerne so wenig wie möglich downtime durch die umwandlung (und falls das nicht klappt evtl. wieder einspielung des backups ca. 110 mb momentan) verlieren. wie gross ist die gefahr dass datensätze dabei beschädigt werden und was muss ich sonst beachten? kann ich die umwandlung direkt am laufenden system (im phpmyadmin) vornehmen, oder sollte ich evtl in der zeitspanne die seite vorübergehend deaktivieren?
sonstige tips dazu? oder begründungen weshalb ich das nicht tun sollte?
meine 2. frage ist mehr überflüssig:
ist das einbinden einer klasse performancemässig komplett vernachlässigbar, so dass ich sie auf jeder seite einbinden kann, oder sollte man die auch nur wirklich einbinden wenn sie gebraucht wird?
ich habe gerade mit einer klasse getestet, die im konstruktor gar nichts machen muss, die hat sich nach einigem aktualisieren bei ca. 0,0015 eingependelt (klasse pro aufruf 100 mal initialisiert)
ich denke das ist vernachlässigbar, denn im gegensatz zu den anderen klassen die immer gebraucht werden (session, datenbank, template, ..) brauchen diese 100 mal initialisieren z.b. knapp weniger als 1 initialisieren der template klasse inkl. einlesen einer datei
ich bin nun hin und her gerissen. einerseits ist es vernachlässigbar, andererseits will ich das so performant wie möglich machen (aber die bequemlichkeit würde es doch begrüssen, die klasse einfach immer zu initialisieren).
um die derzeitige performance meiner seite (die ohne gleichzeitige user online begrenzung täglich bei ca. 70 user total lahmt und bei ca. 80 user einen serverabsturz verursacht) vorrübergehend zu verbessern, bis die komplette überarbeitung abgeschlossen ist, habe ich mich informiert was ich momentan für möglichkeiten habe
ich habe irgendwo gelesen dass innodb tabellen eine bessere performance bieten, was mein problem evtl über diese zeitspanne löst, bzw. wenigstens mehr gleichzeitige user zulässt
nun frage ich mich, wie ich am besten die bestehenden tabellen mit allen datensätzen nach innodb konvertiere.
auf mysql.com bin ich auf folgendes gestossen:
http://dev.mysql.com/doc/mysql/de/SEC427.html
"Die schnellste Art, eine Tabelle in InnoDB zu ändern, ist, die Einfügungen direkt in eine InnoDB-Tabelle vorzunehmen, das heißt, ALTER TABLE ... TYPE=INNODB zu benutzen [...]"
ist es damit bereits getan? was sind die gefahren dabei, was kann mir auf dem laufenden system passieren? natürlich mache ich vorher ein backup, doch würde ich gerne so wenig wie möglich downtime durch die umwandlung (und falls das nicht klappt evtl. wieder einspielung des backups ca. 110 mb momentan) verlieren. wie gross ist die gefahr dass datensätze dabei beschädigt werden und was muss ich sonst beachten? kann ich die umwandlung direkt am laufenden system (im phpmyadmin) vornehmen, oder sollte ich evtl in der zeitspanne die seite vorübergehend deaktivieren?
sonstige tips dazu? oder begründungen weshalb ich das nicht tun sollte?
meine 2. frage ist mehr überflüssig:
ist das einbinden einer klasse performancemässig komplett vernachlässigbar, so dass ich sie auf jeder seite einbinden kann, oder sollte man die auch nur wirklich einbinden wenn sie gebraucht wird?
ich habe gerade mit einer klasse getestet, die im konstruktor gar nichts machen muss, die hat sich nach einigem aktualisieren bei ca. 0,0015 eingependelt (klasse pro aufruf 100 mal initialisiert)
ich denke das ist vernachlässigbar, denn im gegensatz zu den anderen klassen die immer gebraucht werden (session, datenbank, template, ..) brauchen diese 100 mal initialisieren z.b. knapp weniger als 1 initialisieren der template klasse inkl. einlesen einer datei
ich bin nun hin und her gerissen. einerseits ist es vernachlässigbar, andererseits will ich das so performant wie möglich machen (aber die bequemlichkeit würde es doch begrüssen, die klasse einfach immer zu initialisieren).
Kommentar