[Debian] Multi-process MySQL

Pagina: 1
Acties:

  • Snow_King
  • Registratie: April 2001
  • Nu online

Snow_King

Konijn is stoer!

Topicstarter
Hallo,

Ik zit met iets vreemds met MySQL waar ik niet uit kom.

Ik heb twee servers, beide de volgende hardware:

- Tyan Thunder K8S Pro
- Dual Opteron 275
- 8GB ECC Registered
- Debian Linux 3.1
- Custom made 2.6 kernel

Beide servers hebben exact de zelfde hardware en exact de zelfde kernel.

Op beide draait een mysql-server (versie 4.0)

Op de ene server draaien er meerdere mysqld processen, dat wil ik ook, om zo niet tegen met max open files limiet van het OS aan te lopen.

De server die meerdere mysqld's (+/- 36) heeft draaien, heeft de volgende versie:
code:
1
Version: '4.0.24-standard-log'  socket: '/tmp/mysql.sock'  port: 3306  Official MySQL-standard binary


De tweede server is een paar maanden later opgeleverd en die draaide de 4.0.25 binary.

Deze startte maar 1 mysqld proces.

De my.cnf is op beide servers het zelfde.

Ik heb al vanaf de source een nieuwe mysql gecompiled, meerdere binaries gedownload van de MySQL website, maar alsnog, op die andere server start steeds maar 1 mysqld proces.

Dat is dus een probleem aangezien je maar 1024 files per proces mag openen en dat wordt op die tweede server soms een probleem.

Heeft iemand enig idee waar ik kan aangeven dat ik meerdere msyqld processen wil starten? Of moet ik hiervoor in de envirioment wat aanpassen?

Alvast bedankt!

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 09-01 14:32
Een tijdelijke oplossing: je kunt het maximum opened files aanpassen voordat je MySQL start. Zo maken de MySQL processen gebruik van die variabele. Kijk even bij ulimit (-n).

Probeer anders eens ook op je tweede server 4.0.24 te zetten.

[edit]
Owja, je zei dat de my.cnf files ook hetzelfde waren. Staan ze ook op dezelfde locatie, en welke?

[ Voor 19% gewijzigd door zeroxcool op 19-05-2006 11:04 ]

zeroxcool.net - curity.eu


  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

Weet je zeker dat beiden tegen dezelfde thread lib zijn gelinked ? Ik heb ook 1 mysql process volgens ps, maar die is wel threaded. Oudere systemen laten elke thread apart in de ps lijst zien.

  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

Snow_King schreef op vrijdag 19 mei 2006 @ 09:48:
Op de ene server draaien er meerdere mysqld processen, dat wil ik ook, om zo niet tegen met max open files limiet van het OS aan te lopen.
't zijn threads, geen processen. Hetgeen waar je nu mee bezig bent is dus vrij zinloos, aangezien de limieten per threadgroep en/of proces zijn. De oplossing is voor het starten van mysqld het limiet ophogen, mits het natuurlijk toegestaan is.

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 09-01 14:32
Naar mijn weten is er nog steeds verschil tussen threads en processes hoor. Threads worden gebruikt aan de hand van libpthread en processes worden gewoon via fork() afgehandeld. Alles wat je met ps ziet zijn processes. Deze processes kunnen dan wel weer aparte threads hebben.

zeroxcool.net - curity.eu


  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

ZeRoXcOoL schreef op vrijdag 19 mei 2006 @ 13:17:
Naar mijn weten is er nog steeds verschil tussen threads en processes hoor. Threads worden gebruikt aan de hand van libpthread en processes worden gewoon via fork() afgehandeld. Alles wat je met ps ziet zijn processes. Deze processes kunnen dan wel weer aparte threads hebben.
Da's dus niet waar : Oudere versies van coreutils / psutils laten gewoon per thread een regel in de ps lijst zien. eea is afhankelijk van je coreutils versie.

  • Snow_King
  • Registratie: April 2001
  • Nu online

Snow_King

Konijn is stoer!

Topicstarter
Per proces mag je 1024 files openen, op de ene server zijn het 36 processen.

Wat je met ps ziet is een proces, geen thread.

Ik heb het met ulimit inderdaad verhogen, maar ik heb liever een SQL-server die meerdere processen draait.

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 09-01 14:32
Probeer anders eens ook op je tweede server 4.0.24 te zetten.

[edit]
Owja, je zei dat de my.cnf files ook hetzelfde waren. Staan ze ook op dezelfde locatie, en welke?

zeroxcool.net - curity.eu


  • Snow_King
  • Registratie: April 2001
  • Nu online

Snow_King

Konijn is stoer!

Topicstarter
De my.cnf staat op beide servers in /etc(/my.cnf)

Ik ga inderdaad eens proberen die 4.0.24 over te nemen.
Pagina: 1