Ich habe eine wirklich große Website altmodisch mit PHP & MYSQL gebaut.Mysql "Speichernutzung" erhöht und erhöht
Ich habe mehr als 1.000 verschiedene Abfragen in meiner Website, auf verschiedenen PHP-Seiten, und es ist wirklich schwer, alle von ihnen auf MYSQLI zu aktualisieren.
Ich kaufte VPS-Server mit 4 GB RAM und in den vergangenen Monaten erlebe ich wirklich langsame Seitenlasten.
Wenn ich meinen Server neustarten, läuft alles reibungslos, aber nach ein paar Stunden/Tage wird die Website viel langsamer mit Ladezeit von 3+ Sekunden für eine Seitenladung. Ich stelle fest, dass der mysqld Service steigt und die Speicherauslastung steigt, von 80MB auf Server neu starten, erreichte es etwa 400MB und mehr der Nutzung.
Ich lege das Ende meiner index.php mysql_close(), aber es scheint, als ob die Verbindungsnummer noch zunimmt.
Fragen Was kann unbegrenzte Inkrement in mysql Speichernutzung verursachen? Aktualisieren aller meine Abfragen zu MYSQLI kann die Leistung verbessern?
Einige Informationen:
innodb_version
5.5.31
protocol_version
10
slave_type_conversions
version
5.5.31-log
version_comment
MySQL Community Server (GPL)
version_compile_machine
x86_64
version_compile_os
Linux
Speicher-Engine: Mixed (Somes Tabellen sind INNODB, einige Tische sind MyISAM my.cnf.
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
max-connections=100000
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
thread_cache_size=5
table_open_cache=99390
sort_buffer_size=512M
read_rnd_buffer_size=512M
query_cache_size=512M
query_cache_limit = 16M
query_cache_type = 1
slow_query_log=1
slow_query_log_file=slow_query_log.log #
long_query_time=5
log-queries-not-using-indexes=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
ich habe ~ 6-7 Ausführen von Abfragen wenn ich show processlist
erste der ersten, wenn Ihre Website langsam geht, in der Konsole mysql führen 'show processlist' Abfrage von der Wurzel, um zu sehen, was los ist –
Ich habe eine Reihe von Fragen: Welche Version von MySQL? Welche Speicher-Engine verwenden Sie? Wie lauten die Puffereinstellungen in my.cnf? Wie viele Sorten machst du in deinem Code? Entschuldigung - diese Frage kann aufgrund Ihrer Aussagen nicht beantwortet werden. Und MySQLI wird nicht viel Performance-Unterschied machen. –
Aktualisiert meine Frage mit all diesen Informationen, @TGray. Ich kann nicht sagen, wie viel ich mache, aber nicht viel, denke ich. Mein Hauptproblem ist von einer Tabelle mit fast 300k Zeilen bei der Verwendung von SELECT und ORDER BY, obwohl die Abfragen für bestimmte user_id sind. – TheUnreal