DB mehr RAM zuweisen

Begonnen von smartmusic, 13 Oktober 2005, 11:22:41

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

smartmusic

hallo,

kennt sich jemand mit servern aus und kann mir dabei behilflich sein meiner DB mehr RAM zuzuweisen.

meine seite ist sehr langsam ab 70 mitglieder und ich habe gehört das meist der DB nur 256MB zugewiesen sind obwohl ich 2 GB habe.


FrankP

Ganz so stimmt die Aussage nicht und ich glaube nicht, dass die Minderperformance dadurch so einfach zu lösen ist doch die von dir gewünschte Konfigurationsänderung nimmst du in der my.cnf vor, die in /etc liegen müsste.

Wenn du nicht so fit im Umgang mit dieser Konfiguration bist, empfehle ich dir, eine Standardkonfiguration aus den vorgegebenen files zu nehmen. Schau in /usr/local/mysql/supported-files oder suche nach den Dateien
"my-small.cnf", "my-medium.cnf", "my-large.cnf" und "my-huge.cnf". Bei 2 GB RAM würde ich es mal mit der "my-large.cnf" oder der "my-huge.cnf" versuchen. Kopiere die Datei in /etc und nenne sie in my.cnf um, Apache stoppen, mysqld restarten, fertig.

Meiner Erfahrung nach sollte aber eher zuerst in der httpd.conf und der php.ini eingegriffen werden oder zumindest alles gemeinsam angepasst werden um Performanceprobleme zu lösen. Ein paar Stunden vor dem Top sitzen, an den Schräubchen drehen, wieder gucken ... da kann man immens was rausholen. Jede Website ist anders, jeder Server muss individuell den sich verändernden Anforderungen angepasst werden.

Wenn die Änderung in der my.cnf nichts bringt (wovon ich mal ausgehe) müsstest du dich intensiver damit beschäftigen. Welche CPU läuft da, wieviel Traffic macht die Maschine und wodurch (php/mysql oder Downloads/html), swapd sie, wenn ja wann, wie verbraucht sie den RAM nach einem restart und wie schnell, wieviel chached sie, wie cached sie ......
Webhosting für pragmaMx www.abundus.de
Wer Butter will soll Butter kaufen, statt stundenlang auf die Milch einzudreschen und sich zu wundern, warum nur Käse rauskommt.

smartmusic

hallo,

danke für die ausführlich antwort.

nur ich selber kenne mich null aus und traue mich auch nicht daran.

vielleicht könnte es sich einer der admins mal ansehen wenn ich die zugangsdaten gebe

FrankP

Bitte erlaube mir dazu noch eine Anmerkung.
Du hast einen Billigserver ( auch wenn es eine starke Hardware ist ) bei einem Billiganbieter angemietet, deine Website, in der viel Arbeit steckt und die sehr gut besucht ist, ist grauslig lahm ( zumindest war sie das gestern extrem ). Aufgrund des Preises wirst du kaum bis keine Unterstützung von deinem Provider bekommen.
Mit einem gescheit konfigurierten Server würdest du u.U. mit einer weit schwächeren ( und somit günstigeren ) Hardware auskommen. Da du selbst keine Erfahrung in der Serververwaltung hat, benötigst du einen guten Sysadmin ( der auch kurzfristig greifbar ist, wenn gar nichts mehr geht ). Gute Sysadmins sind aber eher selten und dann recht teuer - ausser du hast jemanden im Bekanntenkreis. Eigentlich schade um eine so gut besuchte Community.

Bleibt zu hoffen, dass es "nur" bei Performanceproblemen bleibt - ansonsten - denk mal drüber nach, ob dein Hostingkonzept für dein Projekt ok ist.

Solltest du niemanden finden, der nach den Konfigurationen deines Servers schaut, poste mal den Kopf deines tops ( zu einem Zeitpunkt unter Last ) und einen Link zu einer phpinfo. Ich selbst habe teilw. schlechte Erfahrungen damit gemacht, aus Gefälligkeit auf fremden Servern zu werkeln. Die Erwartungshaltung ist oft hoch und zum Schluß heißt es, ich wolle nur meine eigenen Server verkaufen.
Webhosting für pragmaMx www.abundus.de
Wer Butter will soll Butter kaufen, statt stundenlang auf die Milch einzudreschen und sich zu wundern, warum nur Käse rauskommt.

onkel

ZitatStandardkonfiguration aus den vorgegebenen files zu nehmen.

Genau und bei sein Server ist die Standard Einstellung und die Einstellungen sind meisten für Server ausgelegt mit 256MB ram.

Er müsste nur seine my.cnf  anpassen und  in der apache2.conf schauen, vielleicht sieht sie ja so aus ;)


Zitat# prefork MPM
# StartServers ......... number of server processes to start
# MinSpareServers ...... minimum number of server processes which are kept spare
# MaxSpareServers ...... maximum number of server processes which are kept spare
# MaxClients ........... maximum number of server processes allowed to start
# MaxRequestsPerChild .. maximum number of requests a server process serves
<IfModule prefork.c>
StartServers         5
MinSpareServers      5
MaxSpareServers     10
MaxClients          20
MaxRequestsPerChild  0
</IfModule>

ZitatDu hast einen Billigserver ( auch wenn es eine starke Hardware ist ) bei einem Billiganbieter angemietet, deine Website, in der viel Arbeit steckt und die sehr gut besucht ist, ist grauslig lahm ( zumindest war sie das gestern extrem ). Aufgrund des Preises wirst du kaum bis keine Unterstützung von deinem Provider bekommen.

Du als Provider müsstest dich eigentlich hüten so was zusagen, denn bei einem Rootserver braucht eigentlich niemand Support leisten, wenn es um solche Problem geht.

Smartmusic hat keine Ahnung von Der Materie und er braucht dringend Hilfe.

smartmusic

es es denn nirgends anleitungen dazu?

wie kann ich in die dateien my.cnf reinschauen?


Mecki

#6
Hi,

Du kannst die zum Beispiel mit einem php Editor öffnen. Falls Du dort was ändern solltest, bitte mache dir vorher ein Sicherung. Ich würde dir gerne weiter helfen, aber bei Servereinstellungen bekomme ich selber immer Angstschweiß  ;) Es reicht ja nicht nur die Dateien zu ändern, sondern es muß auch oft ein Neustart des Servers gemacht werden.

Edit: Du solltest dir wirklich Jemanden suchen, der Ahnung davon hat. Ich habe die Erfahrung gemacht, das sowas keiner gerne macht, weil man ja dann auch die Verantwortung dafür übernehmen muß.
LG
Mecki
Nicht behindert zu sein, ist kein Verdienst, sondern ein Geschenk, das uns jederzeit genommen werden kann.

smartmusic

...könnte sich denn neimand von den admins hier daran wagen???

RiotheRat

Wie es mit dem Rest der Mannschaft aussieht kann ich Dir nicht sagen. Ich für meinen Teil greife keine fremden Server an. Das höchste der Gefühle ist mal in eine Mx-Installation reingucken. Und damit endet es bei mir aber auch schon - sorry.

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

smartmusic

kann hier jemand was mit anfangen?



[gelöscht durch Administrator]

Andi

Zitat von: smartmusic am 14 Oktober 2005, 14:20:31
...könnte sich denn neimand von den admins hier daran wagen???

Sorry, Server sind nicht meine Welt ;)
schön´s Grüssle, Andi

FrankP

#11
Zitat
Du als Provider müsstest dich eigentlich hüten so was zusagen, denn bei einem Rootserver braucht eigentlich niemand Support leisten, wenn es um solche Problem geht.

Ich glaube, dann hattest du noch nie einen Rootserver bei einem Qualitätshoster. Selbstverständlich bekommst du dort auch genau zu den Fragen, wie sie der OP hat ,Support. So etwa gibt es nur bei den Billighostern nicht, ansonsten ist dies eine Selbstverständlichkeit

Zitat
wie kann ich in die dateien my.cnf reinschauen?
Dazu sind auf dem Server einige Editoren, z.B. vi oder mcedit installiert. Du rufst die Datei auf mit vi /etc/my.cnf . *Keinesfalls* darfst du Dateien downloaden, auf einer Windowsmaschine mit eine Editor öffnen, editieren, abspeichern und wieder uploaden. Ich empfehle aber dennoch, eine vorgefertigte my.cnf zu nehmen. Such nach der Datei my-large.cnf oder my-hugh.cnf und kopiere sie ins /etc und bennene sie in my.cnf um. Weiterhin glaube ich nicht an ein Problem in der my.cnf, die httpd.conf und die php.ini sind erste Wahl - am besten, alle drei zusammen aufeinander abgestimmt anpassen. Nur den key_buffer ( der keine RAM-Zuweisung des mysqld ist ) anzuheben, löst ein Problem eher nicht.

Eine Anleitung zu Editor vi habe ich dir unter http://www.yellohost.de/test/viref.pdf hinterlegt

Zitat
Smartmusic hat keine Ahnung von Der Materie und er braucht dringend Hilfe.
Mit Verlaub, er hat ein kommerzielles Projekt und dafür so ziemlich das billigste Hosting, das geht. Würde er das Doppelte ausgeben, hätte er keine Probleme. Ich kritisiere ihn deswegen nicht, es ist seine Entscheidung - nur - das Administrieren eine Servers will gelernt sein und die, die es können, möchten mit ihren Fähigkeiten auch gerne was verdienen. Helfen kann ihm da nur ein guter Freund - ein Fremder wird sich das kaum antun, ein kommerzieller Dienstleister oder ein Hoster, bei dem das alles sowieso schon im Preis drin ist.

Es kann dir keiner einfachso, ohne das System eingehend angeschaut zu haben, einen Rat geben - das wäre stochern im Nebel. Durch Zufall kannst du durch rumprobieren einen Volltreffer landen - oder auch nicht. Könnte man das, würde ich dir liebend gerne eine Standardkonfiguration der my.cnf, httpd.conf und php.ini geben - aber sowas gibt es nicht, das muss auf einem belasteden System individuell und immer wieder neu gemacht werden - sorry.

Zitat
Sorry, Server sind nicht meine Welt
Aber du hast numal einen. Ist wie mit dem Coden, entweder du kannst es selbst, oder jemand macht es für dich. Nur dass keiner mal so eben an einen Produktivserver, der auch noch Einnahmen generiert, fasst  ;)


Webhosting für pragmaMx www.abundus.de
Wer Butter will soll Butter kaufen, statt stundenlang auf die Milch einzudreschen und sich zu wundern, warum nur Käse rauskommt.

FrankP

Zitat
kann hier jemand was mit anfangen?

Na also, geht doch.

Du hast genügend RAM, die CPU ist am Anschlag und zwar durch php-Prozesse. Was ist da für eine CPU drin?
Webhosting für pragmaMx www.abundus.de
Wer Butter will soll Butter kaufen, statt stundenlang auf die Milch einzudreschen und sich zu wundern, warum nur Käse rauskommt.

Andi

ZitatZitat
Sorry, Server sind nicht meine Welt
Aber du hast numal einen. Ist wie mit dem Coden, entweder du kannst es selbst, oder jemand macht es für dich. Nur dass keiner mal so eben an einen Produktivserver, der auch noch Einnahmen generiert, fasst
Ähh, Hallo Frank.... Diese Antwort war von mir ;)

Und das als Antwort, auf die Frage, ob sich das ein Admin von pragmaMx.org ansehen kann.

Meine Meinung deckt sich also 1:1 mit Deinen Ausführungen ;)
schön´s Grüssle, Andi

FrankP

Sorry Andi *g* - das Alter macht sich bei mir wohl bemerkbar.

Also, leider bin ich hier raus. Der Apache ist hier als cgi eingebunden. Mit sowas arbeiten wir nicht, bei uns läuft der Apache selbstverständlich als Modul ( und ja, das kann man sicher machen ). Ergo kann ich nicht viel helfen. Sorry, bei dem recht einfachen Bild hätte das als Modul in der httpd.conf schnell gepasst - doch so lasse ich die Finger davon.
Webhosting für pragmaMx www.abundus.de
Wer Butter will soll Butter kaufen, statt stundenlang auf die Milch einzudreschen und sich zu wundern, warum nur Käse rauskommt.

onkel

Zitathttp://www.webhostlist.de/host/t10/top_index.php

Ich bin bei der 1 und bei der 4  :D wie kann man nur so von sich überzeugt sein.... ??




Andi

Jop, und du hast die gleichen Performance Probleme auf Deiner Seite (Stichwort PM), wie wir sie beim anderen erst und drittplazierten mit dem SMF hatten ;)  ;)
schön´s Grüssle, Andi

onkel

ZitatJop, und du hast die gleichen Performance Probleme auf Deiner Seite (Stichwort PM), wie wir sie beim anderen erst und drittplazierten mit dem SMF hatten
Ich hatte  ;D  lag aber nicht am Provider  ;)

henne

ZitatIch hatte  Grin  lag aber nicht am Provider  Wink

und woran dann ???

würde bestimmt auch andere interessieren !
bye Henne

don't click the blue "e" on your desktop, use Firefox

Jeden Tag verschwinden Rentner im Internet, weil sie gleichzeitig alt und entfernen drücken

Andi

Zitatwürde bestimmt auch andere interessieren !

Jaaaaa!!!!
vor allem uns, weil das Thema war ja wirklich ein Dauerbrenner.
Und jetzt einfach so erledigt?
schön´s Grüssle, Andi

smartmusic

Zitat von: FrankP am 14 Oktober 2005, 16:38:48
Zitat
kann hier jemand was mit anfangen?

Na also, geht doch.

Du hast genügend RAM, die CPU ist am Anschlag und zwar durch php-Prozesse. Was ist da für eine CPU drin?

Pentium 4   3.060 MHz

FrankP

#21
Zitat
Ich hatte  ;D  lag aber nicht am Provider  ;)

Liegt es hier auch nicht und dennoch könnte der Provider helfen. Sprich, wäre er bei einem Qualitätshoster, wäre das Problem längst gelöst (oder gar nicht erst aufgetaucht)- der Qualitätshoster bezahlt nämlich kein Ranking, sondern investiert in Qualität - deshalb sind die auch sehr selten bei whl und anderen ( übrigens von Providern betriebenen Listings ) aufgeführt.

Akzeptier einfach, dass es sehr wohl guten Support auch für Rootserver gibt - auch wenn du es noch nicht kennengelernt hast ;-)

---

Edit: Back to topic. Ich würde die gerne helfen, doch ich habe nur rudimentäre Ahnung von apche als cgi eingebunden. Vielleicht hat hier wer mehr Kompetenz als ich - z.B. Onkel.
Was ich bei einem Apache als Modul machen würde, wäre in der httpd.conf die Anzahl max_clients erhöhen, die keep_alive Zeit verlängern und evtl. noch die max_requests per childs erhöhen ( so die nicht eh auf 0 sind). Aber wie man das bei einem Apache als cgi macht, weiß ich nicht.

Ich würde deshalb diese Maßnahmen versuchen, weil er mit 150 Prozessen eindeutig zu wenige hat, um die Requests für so eine große Seite abzuarbeiten. Sprich, die Requests müssen ständig auf ein Child warten, um abgearbeitet werden zu können. Seine Hardware darf gut gerne 250 Prozesse unter Last haben, keine 150.

So, wenn nun einer weiß, wie man das bei einem Apache als cgi macht, her damit - das hilft smartmusic mehr, als ne blöde "wer ist der beste Provider Diskussion"  - das sind ohnehin wir  :D
Webhosting für pragmaMx www.abundus.de
Wer Butter will soll Butter kaufen, statt stundenlang auf die Milch einzudreschen und sich zu wundern, warum nur Käse rauskommt.

smartmusic

#22
sowas steht in der my.cnf

port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
myisam_sort_buffer_size = 8M


smartmusic

in der server-tuning.conf steht:

# prefork MPM
<IfModule prefork.c>
        # number of server processes to start
        StartServers         5
        # minimum number of server processes which are kept spare
        MinSpareServers      5
        # maximum number of server processes which are kept spare
        MaxSpareServers     10
        # maximum number of server processes allowed to start
        MaxClients         150
        # maximum number of requests a server process serves
        MaxRequestsPerChild  0
</IfModule>

# worker MPM
<IfModule worker.c>
        # initial number of server processes to start
        StartServers         2
        # minimum number of worker threads which are kept spare
        MinSpareThreads     25
        # maximum number of worker threads which are kept spare
        MaxSpareThreads     75
        # maximum number of simultaneous client connections
        MaxClients         150
        # constant number of worker threads in each server process
        ThreadsPerChild     25
        # maximum number of requests a server process serves
        MaxRequestsPerChild  0
</IfModule>

# leader MPM
<IfModule leader.c>
        # initial number of server processes to start
        StartServers         2
        # minimum number of worker threads which are kept spare
        MinSpareThreads     25
        # maximum number of worker threads which are kept spare
        MaxSpareThreads     75
        # maximum number of simultaneous client connections
        MaxClients         150
        # constant number of worker threads in each server process
        ThreadsPerChild     25
        # maximum number of requests a server process serves

# perchild MPM
<IfModule perchild.c>
        # constant number of server processes
        NumServers           5
        # initial number of worker threads in each server process
        StartThreads         5
        # minimum number of worker threads which are kept spare
        MinSpareThreads      5
        # maximum number of worker threads which are kept spare
        MaxSpareThreads     10
        # maximum number of worker threads in each server process
        MaxThreadsPerChild  20
        # maximum number of connections per server process
        MaxRequestsPerChild  0

        AcceptMutex fcntl
</IfModule>

# metux MPM
<IfModule metuxmpm.c>
        # initial number of worker threads in each server process
        StartThreads          5
        # minimum number of worker threads which are kept spare
        MinSpareThreads       5
        # maximum number of worker threads which are kept spare
        MaxSpareThreads      10
        # maximum number of connections per server process
        MaxRequestsPerChild   0

# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15

#
# The following directives modify normal HTTP response behavior to
# handle known problems with browser implementations.
#
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

#
# The following directive disables redirects on non-GET requests for
# a directory that does not include the trailing slash.  This fixes a
# problem with Microsoft WebFolders which does not appropriately handle
# redirects for folders with DAV methods.
# Same deal with Apple's DAV filesystem and Gnome VFS support for DAV.
#
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully


onkel

Zitatwürde bestimmt auch andere interessieren !

Jaaaaa!!!!
vor allem uns, weil das Thema war ja wirklich ein Dauerbrenner.
Und jetzt einfach so erledigt?

Ich habe mir einen Server mit 2 GB angeschafft und ihn optimiert,  und wegen den Problemen von damals ist die Userzahl um 40 % gesunken  ;D  also hat es sich bis jetzt das erledigt.





Zitat
Zitatport            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
myisam_sort_buffer_size = 8M

schau mal hier http://www.pragmamx.org/modules.php?name=Forum&topic=12477.msg86737#msg86737



smartmusic

ich habe die huge.cnf eingefügt und auf 250 max. gesetzt

schaut mal...ich meine die seite ist schneller

www.gecealem.de

NeMeSiSX2LC

hm also bei mir war die noch nie langsam....
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

FrankP

Beobachte das top eine Weile. Oben die Zahlen bei load average geben dir deine "Last". Wenn deine Seite
langsam wird, geh ins top und schau, warum sie langsam wird.
Hier noch ein nützlicher Link zu "Die Sache mit dem top": http://lists.debian.org/debian-devel/1998/11/msg00942.html
Ist zwar steinalt, doch immer noch gültig und vor Allem so geschrieben, dass man´s kapieren kann.

Die beiden Maßnahmen, die du getroffen hast, gingen in die richtige Richtung - du hast dem Server mehr "Luft" gegeben. Der Server war künstlich runtergebremst, allerdings ist damit das Problem mit den php-Prozessen noch nicht gelöst aber vielleicht reicht es auch schon mal für eine Weile aus.

Webhosting für pragmaMx www.abundus.de
Wer Butter will soll Butter kaufen, statt stundenlang auf die Milch einzudreschen und sich zu wundern, warum nur Käse rauskommt.

smartmusic

danke für die hilfe frank,

nur wie könnte man das noch mit den php prozessen in griff bekommen?

und was sollte noch in der php.ini geändert werden?

die max_requests per childs auf was sollten die am besten stehen?

smartmusic

naja,wo jetzt wieder mehr auf der seite los ist,ist es wie vorher.

die werte bei load average liegen so hoch...das kann doch nicht sein



[gelöscht durch Administrator]

FrankP

Wie gesagt, kann ich dir da leider nicht mehr weiterhelfen. Ich kann höchstens erklären, woran es liegt:

Dein Problem sind die Prozesse, bei denen im top bei command "php" steht. Da bei dir der Apache als cgi eingebunden ist, laufen diese Prozesse mit suphp unter dem jeweiligen user und eben nicht unter dem Apache, weshalb Änderungen in der httpd.conf hier nicht greifen. Bei uns laufen diese Prozesse auch unter dem Apache und ich kann sie deshalb in der httpd.conf prima steuern. Hier muss jemand ran, der Erfahrung mit der Konfiguration des Apache als cgi hat - ich habe leider wie gesagt nur im Ansatz ne Ahnung davon und kann nicht kompetent helfen. Sorry - würde ich sonst gerne.
Webhosting für pragmaMx www.abundus.de
Wer Butter will soll Butter kaufen, statt stundenlang auf die Milch einzudreschen und sich zu wundern, warum nur Käse rauskommt.

selin01

Also ich weiss nur das Onkel mir sehr geholfen hat mit meinem ROOT Server bei einem Anbieter den kaum jemand kennt. Super Hardware, Super Support und das für einen Super-Preis!

Hier einige Eckdaten des Servers:
Pentium Dual Prozessor 3,0 Ghz
4GB Arbeitsspeicher
ca. 200 GB Festplattenspeicher mit zusätzlichen Backup-Stores
Anbindung an 6 Backbones

Die änderungen für die optimierung machen weitesgehend der Provider, aber viele dinge mache ich auch selber. An diese Stelle nochmal danke an Onkel, der mich ein wenig fit gemacht hat in dem Thema.

User im Schnitt 60-70.

Und je mehr Ram um so besser ist es eigentlich ... Ebay-Server haben teilweise 32GB und viel viel mehr. Ok die kosten dann auch soviel wie ein Eigenheim :)

smartmusic

und das ganze bei welchem anbieter?

selin01

#33
Root Server sind aber nur für Gewerbliche Kunden gedacht.

www.server-service.de