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.
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 ......
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
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.
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.
es es denn nirgends anleitungen dazu?
wie kann ich in die dateien my.cnf reinschauen?
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
...könnte sich denn neimand von den admins hier daran wagen???
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
kann hier jemand was mit anfangen?
[gelöscht durch Administrator]
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 ;)
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 ;)
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?
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 ;)
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.
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.... ??
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 ;) ;)
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 ;)
ZitatIch hatte Grin lag aber nicht am Provider Wink
und woran dann ???
würde bestimmt auch andere interessieren !
Zitatwürde bestimmt auch andere interessieren !
Jaaaaa!!!!
vor allem uns, weil das Thema war ja wirklich ein Dauerbrenner.
Und jetzt einfach so erledigt?
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
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
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
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
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.
ZitatZitatport = 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
ich habe die huge.cnf eingefügt und auf 250 max. gesetzt
schaut mal...ich meine die seite ist schneller
www.gecealem.de
hm also bei mir war die noch nie langsam....
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.
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?
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]
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.
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 :)
und das ganze bei welchem anbieter?
Root Server sind aber nur für Gewerbliche Kunden gedacht.
www.server-service.de (http://www.server-service.de)