Server schaft es nicht mehr
Silli
- webserver
Hi,
Ich habe seit einiger Zeit ein großes Problem mit den Zugriffen auf mein Server.
Leider bin ich in Linux kein Meister der Maschine ;O)
Ich habe keinen Schimmer waran es liegen kann bzw. was ich machen kann.
Mit meinen oberflächlichen Wissen konnte ich schon ausmachen das der Server anscheined überlastet ist siehe Auszug.
Jetzt geht es darum rauszufinden woran es liegen könnte. D.H wer verursacht den übermäßigen Träffic ?
Wie kann ich mir mir die Zugriffe anzeigen lassen? Derzeit sind ca. 15 Domains über den Server erreichbar. Eine Anzeige per Konsole mit listung der http Anfragen incl. Domain.
Danke
Silli
top - 21:59:29 up 85 days, 11:24, 1 user, load average: 10.83, 19.52, 32.55
Tasks: 203 total, 2 running, 200 sleeping, 0 stopped, 1 zombie
Cpu0 : 2.5% us, 1.7% sy, 0.0% ni, 70.0% id, 25.0% wa, 0.0% hi, 0.8% si
Cpu1 : 4.1% us, 2.5% sy, 0.0% ni, 0.0% id, 90.1% wa, 0.8% hi, 2.5% si
Mem: 2065372k total, 2012968k used, 52404k free, 18380k buffers
Swap: 1967952k total, 1673104k used, 294848k free, 54160k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ #C COMMAND
32072 mysql 15 0 3066m 1.5g 2096 S 0.6 75.0 7254:49 0 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --u
3143 bind 19 0 53548 11m 856 S 0.0 0.5 23:09.41 1 /usr/sbin/named -u bind
31406 nobody 16 0 17992 7124 2832 S 0.0 0.3 0:01.86 0 /usr/sbin/httpd -k start
32582 nobody 15 0 18240 6944 2492 S 0.0 0.3 0:01.04 1 /usr/sbin/httpd -k start
32676 nobody 16 0 18092 6912 2488 S 0.0 0.3 0:00.87 1 /usr/sbin/httpd -k start
32638 nobody 16 0 18080 6840 2460 S 0.0 0.3 0:01.21 0 /usr/sbin/httpd -k start
8418 amavis 18 0 16656 6804 1280 S 0.0 0.3 0:00.27 0 amavisd (child)
32713 nobody 16 0 18044 6704 2384 S 0.0 0.3 0:01.13 0 /usr/sbin/httpd -k start
32632 nobody 16 0 17388 6636 2832 S 0.0 0.3 0:04.51 0 /usr/sbin/httpd -k start
32552 nobody 16 0 17676 6632 2624 S 0.0 0.3 0:02.88 1 /usr/sbin/httpd -k start
306 nobody 16 0 17520 6332 2436 S 0.0 0.3 0:01.03 0 /usr/sbin/httpd -k start
32580 nobody 20 0 17676 6300 2432 S 0.0 0.3 0:00.87 0 /usr/sbin/httpd -k start
32736 nobody 16 0 17484 6292 2504 S 0.0 0.3 0:01.01 0 /usr/sbin/httpd -k start
32746 nobody 16 0 17204 6264 2704 S 0.0 0.3 0:01.24 1 /usr/sbin/httpd -k start
32729 nobody 16 0 17164 6192 2648 S 0.0 0.3 0:02.42 1 /usr/sbin/httpd -k start
32725 nobody 15 0 17440 6136 2444 S 0.0 0.3 0:00.86 0 /usr/sbin/httpd -k start
32274 nobody 15 0 17472 6072 2460 S 0.0 0.3 0:00.47 0 /usr/sbin/httpd -k start
32651 nobody 16 0 16928 6072 2744 S 0.0 0.3 0:01.26 0 /usr/sbin/httpd -k start
31590 nobody 15 0 17464 6040 2452 S 0.0 0.3 0:01.15 1 /usr/sbin/httpd -k start
32271 nobody 15 0 17424 6020 2384 S 0.0 0.3 0:00.64 1 /usr/sbin/httpd -k start
32748 nobody 16 0 17008 5996 2676 S 0.0 0.3 0:01.52 0 /usr/sbin/httpd -k start
32747 nobody 16 0 16812 5816 2676 S 0.0 0.3 0:01.22 0 /usr/sbin/httpd -k start
32198 nobody 22 0 17752 5772 2840 S 0.0 0.3 0:04.71 0 /usr/sbin/httpd -k start
31577 nobody 15 0 17276 5756 2888 S 0.0 0.3 0:05.32 1 /usr/sbin/httpd -k start
32673 nobody 16 0 16312 5408 2716 S 0.0 0.3 0:00.34 0 /usr/sbin/httpd -k start
32743 nobody 15 0 16812 5388 2368 S 0.0 0.3 0:00.08 0 /usr/sbin/httpd -k start
32160 nobody 15 0 16940 5368 2852 S 0.0 0.3 0:05.40 0 /usr/sbin/httpd -k start
32730 nobody 16 0 16648 5280 2352 S 0.0 0.3 0:00.09 0 /usr/sbin/httpd -k start
32604 nobody 18 0 16400 5272 2476 S 0.0 0.3 0:00.13 0 /usr/sbin/httpd -k start
32631 nobody 15 0 16372 5244 2528 S 0.0 0.3 0:00.18 0 /usr/sbin/httpd -k start
31401 nobody 15 0 17180 5240 2676 S 0.0 0.3 0:00.91 0 /usr/sbin/httpd -k start
Hallo,
Scheinbar liegt es am Mysql Server
Habe jetzt den Mysql Server neu gestartet und siehe da alles läuft wieder
Bei sehr vielen Zugriffen macht diese Mysql Abfrage Probleme:
SELECT *
FROM tabelle
ORDER BY RAND( )
LIMIT 0 , 5
Silli
Hi!
SELECT *
FROMtabelle
ORDER BY RAND( )
LIMIT 0 , 5
Das kann sein. Wie gross ist denn 'tabelle'? Wieviele Attribute hat das Ding und wieviele Zeilen? Wenn Du nicht alle Attribute abfragen willst solltest Du immer nur die nehmen, die auch benoetigt werden.
Vielelicht ist aber auch nur das Datenbankdesign grottig.
Hallo,
Zum Datenbankdesign
ist das letzte Projekt was aus meinen Kopf entsprungen ist.
SELECT *
FROMtabelle
ORDER BY RAND( )
LIMIT 0 , 5
Kann es sein das RAND() auf keinen Index zurückgreift?
Gibt es eine bessere Alternative?
Derzeit sind ca. 40.000 Seitenzugriffe tägl. ich schätze die Randfunktion muss bei 30.000 Zugriffen arbeit leisten.
Silli
HI,
Die Abfrage scheint meine mysql Version nicht zu unterstützen
Woran liegt es ?
SQL-Befehl:
SELECT *
FROM ok_tabelle AS t1
INNER JOIN (
SELECT ROUND( RAND( ) * (
SELECT MAX( ID )
FROM ok_tabelle ) ) AS ID
) AS t2 ON t1.ID >= t2.ID
ORDER BY t1.ID ASC
LIMIT 1
MySQL meldet:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT
ROUND(RAND() * (SELECT MAX(ID) FROM ok_tabelle)) AS
Grüße Silli
Mahlzeit Silli,
Die Abfrage scheint meine mysql Version nicht zu unterstützen
Woran liegt es ?
Komiker ... woher soll IRGENDJEMAND wissen, warum diese Abfrage nicht mit der von Dir verwendeten MySQL-Version funktioniert, wenn Du diese noch nicht einmal angibst?
Glaskugeln sind grad aus. Kommen auch nicht wieder rein.
MfG,
EKKi
echo $begrüßung;
Die Abfrage scheint meine mysql Version nicht zu unterstützen
Welche ist es denn?
Woran liegt es ?
Subquerys beispielsweise sind erst am 4.1 implementiert.
echo "$verabschiedung $name";
Dank Dir
Subquerys beispielsweise sind erst am 4.1 implementiert.
Server:
Verbunden mit MySQL 4.0.23_Debian-7
Silli