Archiv verlassen und diese Seite im Standarddesign anzeigen : max connections erhöhen? wie ?
oliwood2
07.11.2004, 18:42
hi leute, habe die neueste mysql version auf windows 2003.
ich möchte die max connections erhöhen, kann aber kein config file finde, es gibt auch ekien my.ini. winmysqladmin.exe funktioniert auch nicht, weil es eine dll nicht finden kann.
wie kann ich die max connections manuell setzen?
Die my.ini liegt meist direkt im Windows Verzeichnis. Wenn nicht, solltest du dort eine erstellen.
Der Eintrag
max_connections = 150
setzt die Variable.
oliwood2
08.11.2004, 14:53
ja das hab ich mir auch rausgelesen, aber da liegt gar nix.
ich hab jetzt jedenfalls eine erstellt und den eintrag vorgenommen, dann mysql restartet.
bislang funktionierts. wird sich zur heutpzeit zeigen, heute abend, ob fehler auftreten.
oliwood2
08.11.2004, 16:38
Nachtrag:
Datenbankfehler kommen doch noch, gleich hunderte:
Datenbankfehler in vBulletin :
Link-ID == false, connect failed
mysql error:
mysql error number: 0
Datum: 08.11.2004 16:30:38
Skript: http://xxxxxxxxxxxxxxxxxxxxx/index.php
Referer:
IP-Adresse: xxx.xxx.xxx.xxx
Wie kann ich überprüfen ob mysql nun wirklich mit der neuen max connection zahl fährt?
Indem du das Query SHOW VARIABLES in PhpMyAdmin ausführst und nach der Variablen suchst.
oliwood2
08.11.2004, 21:55
ok, danke, hab ich jetzt gemacht,
max connections sind nun auf 1000, dennoch treten die gleichen fehler auf!
woran kann es nochleigen?
Ich habe bemerkt dass der server immer bei den ausfällen hunderte php-threads aufmacht und dann natülrich ins swapen kommt, weil nur 512 ram drin waren. ich hab jetzt 1024 ram eingebaut, jetzt kommt der fehler zwar seltener, aber dennoch.
woran kanns noch liegen? gibts noch mysql settings die man beachten sollte?
Habe jetzt noch folgende Änderungen vorgenommen:
[mysqld]
set-variable=max_connections=300
set-variable=max_user_connections=300
set-variable=table_cache=1200
set-variable=max_allowed_packet=1M
set-variable=max_connect_errors=999999
Habe gelesen, dass der Server bei Erreichung der max errors den mysql dienst neu startet. das war auf 10 gesetzt, die sind schnell erreicht! Ausserdem war der cach auf 64 gesetzt, ist doch viel zu wenig oder?
Na mal sehen obs jetzt geht!
oliwood2
08.11.2004, 22:24
Ähhh...Frage:
Kommt mir das nur so vor, oder braucht das nach den modifikationen nun mehr prozessorlast? kann doch nicht sein oder?
dass der server immer bei den ausfällen hunderte php-threads aufmacht und dann natülrich ins swapen kommt das hat aber mit mysql nichts zu tun
das hat andere gründe aber wenn ich das hier posten würde dann würden mir hier einige den kopf abreisen ;)
ich will es mal so sagen das ist ein unglückliches zusammenspiel von vb, apache und mysql das prob hatten wir auch schon
Kommt mir das nur so for, oder braucht das nach den modifikationen nun mehr prozessorlast? die cpu last steigt nur dann wenn du auch mehr laufende connections hast
bei nur 1gig ram und vielen zugriffen würde ich eher sql etwas sparsamer einstellen denn wenn apache zu swapen anfängt geht der ganze server in den keller
Link-ID == false, connect failed ich schätze das liegt nicht an maxconnections sondern am wait_timeout + connect_timeout
mfg
oliwood2
09.11.2004, 13:18
das hat aber mit mysql nichts zu tun
das hat andere gründe aber wenn ich das hier posten würde dann würden mir hier einige den kopf abreisen ;)
ich will es mal so sagen das ist ein unglückliches zusammenspiel von vb, apache und mysql das prob hatten wir auch schon
die cpu last steigt nur dann wenn du auch mehr laufende connections hast
bei nur 1gig ram und vielen zugriffen würde ich eher sql etwas sparsamer einstellen denn wenn apache zu swapen anfängt geht der ganze server in den keller
mfg
ne apache kann nicht ins swapen kommen, weil das ganze auf IIS 6.0 läuft...
bin ih mal gespannt ob heute noch datenbankfehler kommen, bis jetzt ist nichts mehr gekommen.
ne apache kann nicht ins swapen kommen, weil das ganze auf IIS 6.0 läuft... me hat keine ahnung von windoof :D aber gibts da keine auslagerung für apache? kann ich mir ja fast nicht vorstellen denn wenn der speicher voll ist was kommt dann?
mfg
oliwood2
09.11.2004, 13:35
natürlich gibts im windoof ein pagefile, aber damit diese kaum beutzt wird, hab ich ja ram dazugebaut. es war nämlich nicht der IIS prozess selbst der so viel ram benötigt, sonder jeder einzelne php request ruft die php.exe auf und diese braucht 10mb ram etwa. wenn jettz also 100 requests in den selben sekunden kommen, ists vorbei mit der berformance, dann ist es ein teufelskreis, denn es wird den php przessen immer weniger speicher zugewiesen, es kommen immer mehr dazu, es dauert länger und umso länger es dauert, umso mehr anfragen kommen rein und der server steht, bis mysql zusammenbricht und neu startet.
auch php lagert in ein /temp/ aus genau wie apache
aber egal wie auch immer es liegt sowieso am wait_timeout + connect_timeout ;)
mfg
oliwood2
09.11.2004, 15:20
ok ,und auf was sollte ich diese werte setzen?
oliwood2
09.11.2004, 15:26
jetzt gerade in diesem moment hab ich wieder 1000 mails bekommen wegen diesen fehlern, hat also doch nix geholfen.
ich hab gleich am server nachgesehen, kaum auslastung, mittelmässig viele php threads und genügend RAM verfügbar!
keine ahnung
oliwood2
10.11.2004, 22:17
so, ich hab jetzt alle empfohlenen werte heraufgesetzt und ich bekomme mehr fehlermeldungen als je zuvor, heute waren es 4000 mails die ich bekommen habe!
bitte helft mir!
was kann ich noch tun, die fehlermeldungen waren doch früher auch nicht da und ich habe nichts verändert und auch nicht mher abfragen.
oliwood2
12.11.2004, 17:49
leute, es liegt nicht am mysql, immer wenn ich diese meldungen bekomme und auf den server schaue sind 1000 php.exe threads offen!
woran kann das liegen, mein board ist zwar gross, aber nicht so, dass sich in ein paar sekunden 1000 php threads öffnen!
steigt die cpu bis auf 100%
hängt ein prozess ?
irgend etwas muss die vielen php.exe ja erzeugen
aber ich glaube das ist eh so ein prob wenn das ganze im cgi mod läuft
bei linux könnte ich dir in 5 min sagen wo das klemmt
mfg
oliwood2
12.11.2004, 18:01
die cpu läuft bei mir fast ständig auf 100% wegen der vielen user.
wenn 1000 prozesse offen sind, geht natürlich gar nix mehr!
ja aber werden die auch mal wieder gekillt bzw was erzeugt die unmenge?
wie lange ist die laufzeit von 1 prozess? (vielleicht killt der server keine mehr nach der abarbeitung) 100000 möglichkeiten
mfg
oliwood2
12.11.2004, 18:09
ja, ich glaube der killt nicht mehr, denn die laufen quasi ins endlose, das ist dann schon mal ein zustand von zig minuten!
darum hab ich auch nach der php.ini config gefragt, ich hab jetzt diese variable auf 180 sekunden gesetzt.
timeout ist auf -1 gesetzt, also quasi nie!
wer kennst sich den mit der php.ini aus und kann mir die besten settings emfehlen.
irgendwie funkt. das nämlich nicht,
ich hab z.b auch den max memory pro phpthread auf 8MB gesetzt, den server rebootet und es schwirren wieder threads mit 10 MB herum.
Ich dreh das boared gleich zu, hab schon bald keinen bock mehr!
timeout ist auf -1 <--- ist mit sicherheit eine schlechte lösung 8MB ist auch ne menge zeug
aber an was das nun klemmt wenn die prozesse nicht gekillt werden null plan
mfg
oliwood2
12.11.2004, 19:58
ich bin gard draufgekommen, dass 90% der mails die ich bekomme ein und dieselbe IP melden.
Sieht also nach attacke aus. Ich hab daraufhin die IP im IIS gesperrt, dann gings wieder für ne stunde, dann kams schon wieder mit ner anderen IP, ip wieder gesperrt und problem war wieder weg.
was kann ich dagegen machen, ich hab jetz auch noch $usepconnect = 0 in der config.php gesetzt.
auf was soll ich das connetion timeout setzen?
atacke?? hmmm und wieso soll die deine php.exe aufrufen floods blasen dir einfach die leitung zu und wenn du an einem 100mbit hängst braucht schon einer einen guten account um dich zu flooden
connetion timeout = std 15 glaube ich hmm ich setze das eher noch oben als nach unten bei php
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.