Re: MySQL auf FreeBSD: Abstuerze

From: Alvar Freude <alvar(at)a-blast.org>
Date: Tue, 21 Feb 2006 10:33:13 +0100

Hi,

-- Greg 'groggy' Lehey <grog(at)FreeBSD.org> wrote:

> Wir haben in der Tat Probleme in solchen Konfigurationen gesehen.
> Siehe z.B. http://bugs.mysql.com/bug.php?id=12251 . Wie dort
> aufgeführt glaube ich aber nicht, dass das Problem an AMD64 liegt.

So viele parallele Verbindungen wie dort aufgeführt brauche ich gar
nicht ;-)

Der Backend-Apache hat ein Limit von 10 Prozessen (da er Speicher
braucht), es sind nur selten mehr als 5 aktiv. Die Queries selbst sind
fast alle sehr schnell, daher reicht das i.d.R. aus, um das Ausliefern
zum User kümmmert sich ein 2. Apache.

>> Tollerweise stürzt ja gleich der gesamte Server ab, nicht nur ein
>> Thread bzw. Prozess.
>
> Der Server besteht ja aus nur einem Prozess. Einzelne Threads können
> nicht abstürzen.

ja, so war das auch gemeint .)
Normalerweise bin ich ja Fans von Threads, aber in einem solchen Fall hat
das Prozessmodell von Postgres ja doch seine Vorteile, das reisst
wenigstens nicht die anderen mit runter.

>> Interessanterweise habe ich beim ersten Suchen noch nichts konkretes
>> im Netz gefunden, erinnere mich nun aber, dass ich das gleiche vor
>> einiger Zeit schon mal hatte (aber mit Athlon single-Core, nicht
>> 64Bit!).
>
> Ohne genauere Details heißt das etwa: "Ich hatte einen Absturz, du
> hattest einen Absturz, muss derselbe Bug sein".

ja. Sorry, ich war auch erstmal damit beschäftigt die Kiste wieder flott
zu kriegen. Hatte doch den Umzug so schön geplant und auf eine
angekündigte Downtime von vielleicht 5-10 Minuten gehofft: die Zeit, um
per rsync die geänderten Daten auf den neuen Server zu spielen ;-)

> Besser wäre: Bitte einen Bug-Report eingeben. Vorher BUG#12251 lesen;
> wir haben damals das Problem nicht wiederholen köonen, und
> komischerweise wollte der Kunde sein Live-System nicht zu solchen
> Tests freigeben. Wenn du das Problem leichter wiederholen kannst (und
> wenn es dasselbe Problem ist), kommen wir hoffentlich weiter.

ich kann bei Gelegenheit nochmal versuchen, auf dem alten System ein
MySQL 5 zu bauen und das zu testen. Der FEhler tritt halt beim "normalen"
Testen nicht auf, erst bei parallellen Zugriffen.

Was bräuchtest Du (oder wer auch immer) denn, um das zu untersuchen bzw.
reproduzieren? (ich hätte nicht gedacht hier einen MySQL-Mitarbeiter
anzutreffen ;) )

Also wie gesagt: alles MyISQM-Tabellen, teilweise groß, größtenteils
ein dummes Datenmodell (war anno 2000 meine erste größere Applikation
mit Datenbanken/SQL), aber das sollte ja egal sein. Der Code nutzt z.B.
Apache::Session::MySQL, und dessen Locker macht Locks mittels GET_LOCK().
Ah, einige "ORDER BY RAND()" sind noch dabei.

Der Zugriff erfolgte via TCP (getrennte Jails). Die Abstürze kamen
offensichtlich immer zu mehr oder minder zufälligen Zeitpunkten: mal
geht ein kompletter HTTP-Request mit allen Queries durch, mal knallt es
beim Absetzen des ersten Queries, mal mitten in einem Query.

Hmmm, ich habe noch ein "INSERT DELAYED ..." im Code drin. Kann es daran
liegen? Wenn ich mich recht erinnere, machte das früher auch Ärger.

Ciao
  Alvar

-- 
** Alvar C.H. Freude, http://alvar.a-blast.org/
** http://www.wen-waehlen.de/
** http://odem.org/
** http://www.assoziations-blaster.de/

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 21 Feb 2006 - 10:34:08 CET

search this site