11. Januar 200620 j hi und hallo, ich habe hier vor mir ein iBook G4 und habe gerade XAMPP darauf installiert. läuft alles super, auch mit der datenbank. nur finde ich, dass das speichern von daten, sowie allgemein die kommunikation von php seiten und datenbank doch sichtlich lange dauert. um ein formular mit 3 einträgen zu speichern sitze ich schonmal 3-4 sekunden da und warte nach dem klick auf den submitButton bis die bestätigungsseite erscheint. die selbe anwendung habe ich auf meinem pc laufen und da dauert das ganze nur einen augenaufschlag. nun meine frage: an was kann diese, doch deutliche, geschwindkeitseinbuße liegen? am arbeitsspeicher? (512 KB) am prozessor? (1, 33 Ghz) am apache? oder sonst irgend etwas? wäre sehr glücklich über jeden vorschlag. vielen dank schonmal
11. Januar 200620 j hier wären versionen von apache, php und mysql (?) interessant, sowie diverse einstellungen, z.b. auszüge aus der mysql.conf, php.ini. -) hast du die performanceprobleme nur bei insert und update? -) kannst du allenfalls noch mit EXPLAIN deine sql-statements überprüfen -) sowie die ausgabe von "mysqladmin variables" hier reinkleben? -) mysqld --help wäre auch interessant, bzw. was du bei "current value" verwendest. -) record_buffer, table_cache usw. wären sicherlich parameter, die du tunen könntest. -) die aktuelle speicherkonsumation der php-executable wäre auch nützlich zu wissen. s'Amstel
12. Januar 200620 j puhhh jetzt bin ich ersma erschlagen.... zu 1) Apache 2.0.55, MySQL 5.0.15, PHP 4.4.1, PHP 5.0.5 zu 2) muss ich mal googlen was das bedeutet zu 3) mysqladmin variables ? wo gibt man das ein? zu 4) mysqld --help wo gibt man das ein? zu 5) ok... zu 6 ) wie finde ich die raus? vielen dank schonma!
12. Januar 200620 j zu 2) muss ich mal googlen was das bedeutet EXPLAIN gibt dir aussagekräftige statistiken zu deinen sql-staments (wie lange brauchen sie, wieviel cpu etc.). zu 3) mysqladmin variables ? wo gibt man das ein? C:\Programme\MySQL\MySQL Server 4.1\bin>mysqladmin -u root -pgehtdichnixan variables +---------------------------------+-------------------------------------------------------------+ | Variable_name | Value | +---------------------------------+-------------------------------------------------------------+ | back_log | 50 | | basedir | C:\Programme\MySQL\MySQL Server 4.1\ | [...] zu 4) mysqld --help wo gibt man das ein? auf der eingabeaufforderung. bei mysql 5 wirst du "mysqld --verbose --help" verwenden müssen. ganz unten findest du die aktuell gesetzen werte der mysql-systemvariablen. zu 6 ) wie finde ich die raus? unter windows wäre das normalerweise der taskmanager, bei einem "iBook G4" (rennt da OS X drauf, hab davon keine ahnung) wird das vermutlich "ps aux" oder so sein. die prozessliste halt s'Amstel
12. Januar 200620 j oh amstelchen. vielen dank für die auskunft. mit dem MAC werd ich wohl nie ein guter freund werden, aber ich werd mich gleich ma ransetzen und deine tipps umsetzen. vieeeeelen dank
25. Januar 200620 j so, wir haben nun viel schweiss investiert und schon gute erfolge zu verbuchen. wir haben also die my.cnf etwas "getuned", soll heissen auf unser system angepasst. im endeffekt haben wir wirklich "einfach" nur die werte für table_cache record_buffer und und und...verändert. was ist passiert? eine sehr grosse steigerung der geschwindigkeit wenn es darum geht daten aus der datenbank auszulesen. nun gibt es noch das (eigentlich) grosse problem, dass es beim schreiben immer noch ewig dauert bis etwas passiert. welcher wert könnte denn da noch eingestellt werden um das schreiben zu beschleunigen? ich hab z.b. auf mysql server parameters nachgekuckt, finde aber keinen wert der sich auf das schreiben bezieht. interessant: wenn ich mit dem mac über das netzwerk auf meinen windows rechner verbinde und exakt die selbe anwendung ausführe geht alles super schnell. ich habe auch schon mit mysql_pconnect für eine persistente datenbankverbindung experimentiert, aber keine erfolge eingefahren... was kann ich noch tun?
25. Januar 200620 j weitere geschwindigkeitsunterschiede in schreiboperationen könnten der tabellentyp und insbesondere indizes sein. bei myisam besteht z.b. die möglichkeit, via myisamchk --keys-used=0 -rq /pfad/zur/datenbank/tabelle indizes temporär zu deaktivieren und nach der einfügeoperation vermittels myisamchk -rq /pfad/zur/datenbank/tabelle den/die index/indizes wieder neu aufzubauen. sollte auch mit DISABLE KEYS/ENABLE KEYS funktionieren (natürlich abhängig von der mysql-version). eine weitere optimierungsmöglichkeit wäre die verwendung von INSERT DELAYED (m.w. ab mysql 5) - in der statusvarible "delayed_writes" sind dazu genaue informationen zu finden. und ansonsten ist EXPLAIN immer sehr brauchbar, oder halt auch jede art von logging, logging, logging. :e@sy s'Amstel
26. Januar 200620 j okidoki. das werde ich mal ausprobieren. trotzdem wundert es mich bis dahin immer noch wie die exakt gleiche anwendung auf einem exakt gleich konfigurierten server auf dem mac dann ca 5 mal langsamer ist als wenn ich mit dem mac übers netz auf meinen rechner zugreife.. bis dahin. vielen dank ersma wieder
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.