Schrift
[thread]3728[/thread]

mysql CPU%



<< |< 1 2 3 4 >| >> 35 Einträge, 4 Seiten
Froschpopo
 2006-10-15 20:56
#34765 #34765
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich hab nen kleines proggy gebastelt, die ausgabe von top "grept" und die verhaltensweise vom mysqld beobachtet.
Die CPU-Auslastung für mysqld liegt meistens zwischen 2.9 und 10.4.
Bei besonders schwierigen Anfragen teilweise jedoch bei 48% CPU !
Durch den dadurch entstehenden Swap wird u.a. apache2 so dermaßen stark ausgebremst,dass einzelne requests bis zu 3 secs andauern können.
weiss jemand, wie man den mysqd irgendwie ausbremsen kann?
esskar
 2006-10-15 21:01
#34766 #34766
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
wie wäre es, wenn du deine tabellen und queries säuberst?
Froschpopo
 2006-10-15 21:06
#34767 #34767
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
wie meinst du das denn jetzt
bloonix
 2006-10-15 21:16
#34768 #34768
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Zum Beispiel deine Tabellen checkst, was da gelöscht werden kann...
Indizes aktualisieren... Analysen erstellen - wenn das bei MySQL geht!
Man kann auch Queries tunen! Es gibt da ne my.cnf, in der du sogar
das Caching etc. von mysqld tunen könntest...

Vielleicht kannst du auch mal deinen Apache tunen, damit der mit dem,
was übrig bleibt, zurecht kommt!\n\n

<!--EDIT|opi|1160932662-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Froschpopo
 2006-10-15 21:23
#34769 #34769
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Ich hab nen 1,4 GB CPU mit 1 Gb RAM. Mein prefork-Prozess verbraucht immer 1.7 % Arbeitsspeicher.
Meine server-tuning.conf für die prefork.c sieht so aus:

StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 50
MaxClients 42
MaxRequestsPerChild 200\n\n

<!--EDIT|Froschpopo|1160933098-->
bloonix
 2006-10-15 21:35
#34770 #34770
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Ist ja ok, wenn du nicht mehr als ~10 http-Prozesse benötigst...

Befürchtest du Memory Leeking oder warum hast du so wenig MaxRequestsPerChild? Ein Grund, die Anwendung zu tunen :)\n\n

<!--EDIT|opi|1160933807-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Froschpopo
 2006-10-15 21:41
#34771 #34771
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
mh ok hab den MaxRequestsPerChild auf 0 gesetzt und MinSpareServer auf 20 hoch.

Zu mysql fiel mir folgendes ein:

safe_mysqld --max_connections=300

Das doofe daran ist aber, dass er den query ablehnt, wenn 300 verbindungen überschritten sind. ich hätte es eigentlich lieber, wenn er dann die gesamten requests einfach ausbremsen würde.
renee
 2006-10-15 21:46
#34772 #34772
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du solltest vielleicht auch mal überprüfen, ob es nicht geschicktere Queries gibt oder einfach weniger Queries möglich sind...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
bloonix
 2006-10-15 21:47
#34773 #34773
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=Froschpopo,15.10.2006, 19:41]MaxRequestsPerChild auf 0 gesetzt[/quote]
hmmm... MaxRequestsPerChild solltest du nur auf 0 setzen, wenn du
statischen Content auslieferst und wirklich genug Speicher hast!
Ich setzte den Wert standardmäßig auf 5000.

Auf einem Server mit ziemlich hoher Load schaut meine Konf. so aus:

StartServers     150
MinSpareServers   20
MaxSpareServers   80
MaxClients       256
MaxRequestsPerChild  8000


und die my.cnf ...

max_connections                 = 1024
key_buffer                      = 512M
table_cache                     = 512
max_allowed_packet              = 24M
sort_buffer_size                = 32M
read_buffer_size                = 2M
read_rnd_buffer_size            = 8M
record_buffer                   = 2M
myisam_sort_buffer_size         = 64M
thread_cache                    = 16
query_cache_size                = 64M
query_cache_limit               = 2M
query_cache_type                = 1


Du kannst die Parameter mal für ne Suche via Google missbrauchen und
sie für deinen Bedarf anpassen.\n\n

<!--EDIT|opi|1160934522-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
bloonix
 2006-10-15 21:51
#34774 #34774
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=Froschpopo,15.10.2006, 19:41]Das doofe daran ist aber, dass er den query ablehnt, wenn 300 verbindungen überschritten sind. ich hätte es eigentlich lieber, wenn er dann die gesamten requests einfach ausbremsen würde.[/quote]
Es kann natürlich auch sein, dass dein Server die Auslastung nicht mehr
packt! Ich kenne viele "Kunden", die solch einen Status irgendwann mal
erreichen und einfach ne dickere Kiste brauchen. Aber diesen Gedanken
sollte man erst einschlagen, wenn es nix mehr zum Tunen gibt ;)
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
<< |< 1 2 3 4 >| >> 35 Einträge, 4 Seiten



View all threads created 2006-10-15 20:56.