privvmpages am Limit - woran kann es liegen?

Apache, Lighttpd, nginx, Cherokee
hisky
Posts: 8
Joined: 2007-12-13 13:06

privvmpages am Limit - woran kann es liegen?

Post by hisky » 2007-12-13 13:28

Mahlzeit :)

Ich habe jetzt einen Leidensweg von 3 Wochen hinter mir und das Problem will nicht weichen.

Vorgeschichte:
Unser Webshop http://www.sotel.de lief die letzten Monate konstant schnell. Dann haben wir die Artikelanzahl von 12.000 auf 30.000 erhöht. (da dreisprachig = 90.000 Einträge in der DB)

Ab hier gab es merkwürdige ERROR´s. Shop lief, aber kaum hatte ich einen Artikel bearbeitet, hat es die Datenbank zerlegt. Shop brachte nur noch Error 500.

Folge:
Man hat uns nahegelegt auf einen virtuellen Server zu wechseln, da der zugewiesene hier Speicher größer ist und es wohl ein Speicherproblem sei laut log.

Haben dann dieses Paket gewählt - Variante ML2-V mit Debian und Confixx:
http://www.netclusive.de/?go=vserver_managed

Nachdem die Skripe von php4 auf php5 umgeschrieben waren und die Datenbank mit einem Index versehen wurde lief es...bis der Speicher überlief, was aber nicht hätte passieren dürfen.
Unser Programmierer hat den Speicher vor einer gewissen Aktion künstlich erhöht und dieser sollte sich danach selbst leeren....hat bei PHP 5 aber nicht gegriffen :( (laut anderen Foren ein PHP Bug!?)

Aktueller Stand:
Wir haben den Server wieder auf PHP4 zurück setzen lassen, da unser Shop hier merkwürdigerweise schneller läuft.

Im Log sieht es aber weniger gut aus und es kommen ab und an 500er Erros.
Do 13 Dez 2007 12:54:22 CET Grüner Bereich privvmpages
Do 13 Dez 2007 12:54:13 CET Gelber Bereich privvmpages
Do 13 Dez 2007 12:54:03 CET Grüner Bereich privvmpages
Do 13 Dez 2007 12:53:33 CET Gelber Bereich privvmpages
Do 13 Dez 2007 12:50:22 CET Grüner Bereich privvmpages
Do 13 Dez 2007 12:50:13 CET Gelber Bereich privvmpages
Do 13 Dez 2007 12:48:22 CET Grüner Bereich privvmpages
Do 13 Dez 2007 12:43:13 CET Schwarzer Bereich privvmpages
Do 13 Dez 2007 12:41:43 CET Gelber Bereich privvmpages
Do 13 Dez 2007 12:41:22 CET Grüner Bereich privvmpages

:arrow: Ist die Datenbank falsch konfiguriert und wie kann ich dies testen bzw. herausfinden?

Bin für jeden Tipp dankbar...so geht es nicht weiter :(

Nachtrag:

Ich habe Virtuozzo laufen und diese "Programme" entdeckt, die scheinbar recht lange laufen:
30491 7.1 0.8 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock 0 23 65364 S 20:30:11 105

5462 1.3 0.3 /usr/sbin/clamd 0 14 32548 S 03:51:17 109

7,1 und 1,3 & CPU Last.

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: privvmpages am Limit - woran kann es liegen?

Post by Roger Wilco » 2007-12-13 14:12

1. V-Server stinken.
2. Die Prozesse, die Virtuozzo entdeckt hat, sollen lange laufen. Es sind immerhin Daemons...
3. Die Puffergrößen von MySQL sind an das beschränkte Environment angepasst?

hisky
Posts: 8
Joined: 2007-12-13 13:06

Re: privvmpages am Limit - woran kann es liegen?

Post by hisky » 2007-12-13 14:21

Naja. Als PHP und SQL Dau wollte ich etwas idiotensicheres haben. Bei einem root muss man ja selbst alles verwalten und einstellen, oder!?

3. Die Puffergrößen von MySQL sind an das beschränkte Environment angepasst?

Das ist der Knackpunkt. Wie rufe ich die Einstellungen ab? Ich sehe zwar die my.cnf im etc Ordner, kann dieser aber nicht öffnen.

Gibt es eine Art sqlinfo? So wie die phpinfo Datei!?

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: privvmpages am Limit - woran kann es liegen?

Post by floogy » 2007-12-13 14:38

Hisky wrote:[...]Folge:
Man hat uns nahegelegt auf einen virtuellen Server zu wechseln, da der zugewiesene hier Speicher größer ist und es wohl ein Speicherproblem sei laut log.

Haben dann dieses Paket gewählt - Variante ML2-V mit Debian und Confixx:
http://www.netclusive.de/?go=vserver_managed [...]


Hmmm... merkwürdige Empfehlung.
Was für ein Angebot hattet ihr vorher?
Was ergibt die Ausgabe von cat /proc/user_beancounters?

hisky
Posts: 8
Joined: 2007-12-13 13:06

Re: privvmpages am Limit - woran kann es liegen?

Post by hisky » 2007-12-13 14:44

Erstmal danke für die schnelle Hilfe. Vielleicht finde ich jetzt endlich den fehler.

Wir hatten vorher dieses Paket:
http://www.netclusive.de/?go=hostingb&P ... 2a1de32c42

Professional 2.0 - lief mit 12.000 Artikeln gut und ohne Fehler.


Öhm. Bin via SSH-Client als Admin eingeloggt. Wieso findet nichts?
cat /proc/user_beancounters
cat: /proc/users_beancounters: No such file or directory

Hab es exakt so mit Leerschritt eingegeben.
Im FTP Programm finde ich die Datei...mit o bytes?
Last edited by hisky on 2007-12-13 14:46, edited 1 time in total.

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: privvmpages am Limit - woran kann es liegen?

Post by Roger Wilco » 2007-12-13 14:46

Die Fehlermeldung sagt, du hast ein 's' zu viel...

hisky
Posts: 8
Joined: 2007-12-13 13:06

Re: privvmpages am Limit - woran kann es liegen?

Post by hisky » 2007-12-13 14:49

Okay. Mein Fehler ;)

Es passiert aber nichts:
cat /proc/user_beancounters

Er zuckt....das wars.

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: privvmpages am Limit - woran kann es liegen?

Post by floogy » 2007-12-13 22:54

Am 's' liegt es nicht, denke ich.
http://wiki.openvz.org/Proc/user_beancounters

Es funktioniert wohl nur mit Superuserrechte.

hisky
Posts: 8
Joined: 2007-12-13 13:06

Re: privvmpages am Limit - woran kann es liegen?

Post by hisky » 2007-12-13 22:57

Okay. Dann frage ich mal mein Provider nach, was er sehen kann.

Nur ohne Superuserrechte kann ich an den Einstellungen wohl auch nichts ändern :roll:

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: privvmpages am Limit - woran kann es liegen?

Post by floogy » 2007-12-13 23:08

Ah..., bin mit Blindheit geschlagen:
/proc/users_beancounters ist falsch.
/proc/user_beancounters ist richtig

Die Werte kann sowieso nur der Provider einstellen, aber die failcnt sind für die Diagnose eventuell interessant.

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: privvmpages am Limit - woran kann es liegen?

Post by Roger Wilco » 2007-12-13 23:11

floogy wrote:Ah..., bin mit Blindheit geschlagen:
/proc/users_beancounters ist falsch.
/proc/user_beancounters ist richtig

Ja, aber dein Einwand war trotzdem richtig.

In der Regel kann nur root die /proc/user_beancounters auslesen. ;)

hisky
Posts: 8
Joined: 2007-12-13 13:06

Re: privvmpages am Limit - woran kann es liegen?

Post by hisky » 2007-12-13 23:13

Geht auch ohne s nicht ;)

Habe eine Anfrage an meinen "root" gestellt, was für Daten er sieht und wieso meine user_beancounters Datei leer ist. Laut FAQ sollte ich dort die Daten einsehen können.

Bin gespannt was bei rauskommt :)

hisky
Posts: 8
Joined: 2007-12-13 13:06

Re: privvmpages am Limit - woran kann es liegen?

Post by hisky » 2007-12-14 09:21

So. Hier die Antwort. Leider kam di schon so zerstückelt an.

die Datei /proc/user_beancounters gehört dem Benutzer und der Gruppe root und
kann daher von Ihnen als admin nicht ausgelesen werden.
Sie können die Auslastung Ihres VServers auch jederzeit über das Virtuozzo
Power Panel einsehen.

Nachfolgend können Sie die aktuelle Ausgabe sehen, hier bestehen bereits
einige Failcounts:

root@v1770:/# cat /proc/user_beancounters
Version: 2.5

uid resource held maxheld
barrier limit failcnt
12105: kmemsize 5240944 5436889
12582912 13680064 58
lockedpages 0 0
344 344 0
privvmpages 111687 120802
163840 165840 2687086
shmpages 142 142
19567 19567 0
dummy 0 0
0 0 0
numproc 45 46
224 224 0
physpages 48966 55768
0 2147483647 0
vmguarpages 0 0
81920 2147483647 0
oomguarpages 48966 55768
81920 2147483647 0
numtcpsock 13 16
512 512 0
numflock 8 8
224 246 0
numpty 1 1
16 16 0
numsiginfo 0 1
256 256 0
tcpsndbuf 175800 341688
1416560 2768240 0
tcprcvbuf 156240 276208
1416560 2768240 0
othersockbuf 261720 264064
655717 1153621 1252
dgramrcvbuf 0 4392
132096 132096 1730
numothersock 143 144
512 512 0
dcachesize 0 0
5273280 5416640 0
numfile 2249 2374
7500 7500 0
dummy 0 0
0 0 0
dummy 0 0
0 0 0
dummy 0 0
0 0 0
numiptent 14 14
96 96 0

Leider können wir solche Werte außerhalb eines Tarifupgrades nicht erhöhen,
gerne bieten wir Ihnen aber an, die Werte des VServers testweise für einige
Tage auf die des nächsthöheren Tarifs anzupassen. In diesem Zeitraum können
Sie Ihre Prozesse auf hohen Speicherverbrauch überprüfen.

floogy
Posts: 150
Joined: 2007-10-23 22:00

Re: privvmpages am Limit - woran kann es liegen?

Post by floogy » 2007-12-15 14:36

Code: Select all

uid 12105:

resource        held            maxheld         barrier         limit           failcnt

kmemsize        5240944         5436889         12582912        13680064        58
lockedpages     0               0               344             344             0
privvmpages     111687          120802          163840          165840          2687086
shmpages        142             142             19567           19567           0
dummy           0               0               0               0               0
numproc         45              46              224             224             0
physpages       48966           55768           0               2147483647      0
vmguarpages     0               0               81920           2147483647      0
oomguarpages    48966           55768           81920           2147483647      0
numtcpsock      13              16              512             512             0
numflock        8               8               224             246             0
numpty          1               1               16              16              0
numsiginfo      0               1               256             256             0
tcpsndbuf       175800          341688          1416560         2768240         0
tcprcvbuf       156240          276208          1416560         2768240         0
othersockbuf    261720          264064          655717          1153621         1252
dgramrcvbuf     0               4392            132096          132096          1730
numothersock    143             144             512             512             0
dcachesize      0               0               5273280         5416640         0
numfile         2249            2374            7500            7500            0
dummy           0               0               0               0               0
dummy           0               0               0               0               0
dummy           0               0               0               0               0
numiptent       14              14              96              96              0


Du hast zuwenig Speicher, und Dein Provider bietet Dir nur eine Erhöhung der einzelnen Werte innerhalb eines Tarifwechsels an.

http://wiki.openvz.org/Category:UBC
http://wiki.openvz.org/UBC_parameters
http://wiki.openvz.org/UBC_primary_parameters
http://wiki.openvz.org/UBC_secondary_parameters

Du könntest versuchen bestimmte Prozesse zu optimieren, oder auch abzuschalten. vserver sind eben keine rootserver.

hisky
Posts: 8
Joined: 2007-12-13 13:06

Re: privvmpages am Limit - woran kann es liegen?

Post by hisky » 2007-12-15 15:05

Danke schon einmal.

Der Speicher = Arbeitsspeicher, oder?
Kann es auch sein, dass ein Prozess in meinem Shop diesen sinnlos belastet?

Ist "nur" ein OSCommerce Shop mit 30.000 Aritkeln und ca. 10 Besuchern gleichzeitig.
Man hat mir im OS Forum geraten die Datenbank mit Indizies zu versehen, da der Shop im Admin Bereich usw. recht schnell ist.

Aber sobald man einen Artikel sucht, reden wir von 10-20 Sekunden Wartezeit. Das könnte Failcounts produzieren, wenn ich das richtig sehe!?

Könnte es an fehlenden SQL Indizies liegen?

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: privvmpages am Limit - woran kann es liegen?

Post by Roger Wilco » 2007-12-15 15:57

Hisky wrote:Der Speicher = Arbeitsspeicher, oder?

Ja.
Hisky wrote:Kann es auch sein, dass ein Prozess in meinem Shop diesen sinnlos belastet?

Abgesehen davon, dass wir nicht wissen, ob es "sinnlos" ist: ja.

Hisky wrote:Könnte es an fehlenden SQL Indizies liegen?

Oder an zu vielen. Die benötigen nämlich auch einen gewissen Speicher. Der typische Speed <-> Space Tradeoff eben.