Prolamer
Registered User
Hallo,
ich habe zwar bereits einen hread geöffnet, aus dem ergibt sich aber nicht wirklich mein Problem.
Ersteinmal Serverhardware:
i5 4* 2,66ghz
16gb ram
Isgenug Server
Software: Debian 6 inkl. ISPConfig 3 direkt als Image von OVH
Funktion des Servers:
Hosting eines Webshops mit ca. 10.000 Besucher/Tag und steigend.
Ein Teamspeak-Server läuft auch drauf
VBulletin Board
Problemstellung:
Der Server geht bei einer bestimmten SQL Anfrage total in die Knie.
Ich weiß nicht woran es liegt.
Das Script ruft alle 20 Minuten per Cron-Job die Datenbank ab und prüft, ob bestimmte Waren versendet wurden, als bezahlt markiert wurden etc. wenn das alles passt, dann sendet er die Sachen per Email raus.
Hier mal der ein Auszug des Cods:
die my.cnf:
Ich habe mal ein Paar screens angehangen von atop, einmal ohne script und 4 mit Script in bestimmten Zeitabständen.
Ich hoffe, dass Ihr mir helfen könnt bzw. sagen könnt woran es liegt?
ich habe zwar bereits einen hread geöffnet, aus dem ergibt sich aber nicht wirklich mein Problem.
Ersteinmal Serverhardware:
i5 4* 2,66ghz
16gb ram
Isgenug Server
Software: Debian 6 inkl. ISPConfig 3 direkt als Image von OVH
Funktion des Servers:
Hosting eines Webshops mit ca. 10.000 Besucher/Tag und steigend.
Ein Teamspeak-Server läuft auch drauf
VBulletin Board
Problemstellung:
Der Server geht bei einer bestimmten SQL Anfrage total in die Knie.
Ich weiß nicht woran es liegt.
Das Script ruft alle 20 Minuten per Cron-Job die Datenbank ab und prüft, ob bestimmte Waren versendet wurden, als bezahlt markiert wurden etc. wenn das alles passt, dann sendet er die Sachen per Email raus.
Hier mal der ein Auszug des Cods:
Code:
orderq = Db::getInstance()->executeQuery("SELECT a.firstname, a.lastname, a.email, a.id_customer, e.id_order, e.id_customer, (SELECT sign FROM currency WHERE currency = e.currency) AS currency, e.total_paid, e.date_add FROM customer a JOIN (SELECT o.id_order, o.id_customer, o.id_currency, o.total_paid, o.date_add FROM _orders o JOIN (SELECT order FROM order_history WHERE date_add IN (SELECT MAX(date_add) FROM order_history GROUP BY id_order) AND id_order_state IN (12,2)) h ON o.id_order = h.id_order) e ON a.id_customer = e.id_customer WHERE DATE_SUB(NOW(),INTERVAL (SELECT tage FROM xxxx LIMIT 0,1) SECOND) <= e.date_add");
die my.cnf:
Code:
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
read_buffer_size = 32M
tmp_table_size = 128M
max_heap_table_size = 128M
join_buffer_size = 16M
table_cache = 2048
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
Ich habe mal ein Paar screens angehangen von atop, einmal ohne script und 4 mit Script in bestimmten Zeitabständen.
Ich hoffe, dass Ihr mir helfen könnt bzw. sagen könnt woran es liegt?
Attachments
-
4140d1321064100-brauche-empfehlung-fuer-rootserver-script_aus.jpg128.5 KB · Views: 151
-
4141d1321064108-brauche-empfehlung-fuer-rootserver-script_10sek.png105.7 KB · Views: 137
-
4142d1321064102-brauche-empfehlung-fuer-rootserver-script_30sek.png71.1 KB · Views: 137
-
4143d1321064110-brauche-empfehlung-fuer-rootserver-script_2min.png58.8 KB · Views: 143
-
4144d1321064215-brauche-empfehlung-fuer-rootserver-script_5min.png30.6 KB · Views: 164
Last edited by a moderator: