[FreeBSD] mysql ve memory

2006-12-28 Başlik Mesut GÜLNAZ
061228 12:53:06 Out of memory;  Check if mysqld or some other process uses
all available memory. If not you may have to use 'ulimit' to allow mysqld to
use more memory or you can add more swap space

 

Hatası alıyorum.

 

last pid: 60524;  load averages: 15.43, 18.32, 20.05
up 9+01:25:02  12:55:35

387 processes: 4 running, 383 sleeping

CPU states: % user, % nice, % system, % interrupt, %
idle

Mem: 586M Active, 2544M Inact, 294M Wired, 168M Cache, 112M Buf, 234M Free

Swap: 6144M Total, 80K Used, 6144M Free

 

  PID USERNAMEPRI NICE   SIZERES STATETIME   WCPUCPU
COMMAND

59890 mysql200   539M 97168K kserel   6:34 49.02% 49.02%
mysqld

60361 www   40 31252K 16464K sbwait   0:00  0.20%  0.20%
httpd

60079 www   40 30776K 15940K sbwait   0:01  0.15%  0.15%
httpd

 

 

 

-su-2.05b# ps auxwww | grep mysql

mysql   59853  0,0  0,0  1788  1152  p0  I12:45PM   0:00,01 /bin/sh
/usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf
--user=mysql --datadir=/var/db/mysql
--pid-file=/var/db/mysql/www.domain.com.pid -O max_connection=1000

mysql   59890  0,0  2,4 551704 97700  p0  S12:45PM   7:17,55
/usr/local/libexec/mysqld --defaults-extra-file=/var/db/mysql/my.cnf
--basedir=/usr/local --datadir=/var/db/mysql --user=mysql
--pid-file=/var/db/mysql/www.domain.com.pid --port=3306
--socket=/tmp/mysql.sock -O max_connection=1000

-su-2.05b#

 

Şeklinde çalışıyor.

 

Apache ye olan istek sayısı:

 

-su-2.05b# netstat -an | grep 100.80 | wc -l

1184

-su-2.05b# egrep MaxClients /usr/local/etc/apache/httpd.conf

MaxClients 512   ==è bu değeri 150 den max olan 512 ye ben
çıkardım.

-su-2.05b#

 

Örnek birkaç satır

 

tcp4   0  0  100.100.100.100.80 *.*LISTEN

tcp4   0  65559  100.100.100.100.80 88.234.103.242.1498
FIN_WAIT_1

tcp4   0  64405  100.100.100.100.80 85.102.109.0.3054
FIN_WAIT_1

tcp4   0  0  100.100.100.100.80 85.106.181.106.1831
FIN_WAIT_2

tcp4   0  0  100.100.100.100.80 85.106.181.106.1830
FIN_WAIT_2

tcp4   0  64777  100.100.100.100.80 85.102.210.77.2302
FIN_WAIT_1

tcp4   0  65145  100.100.100.100.80 85.107.70.41.1477
FIN_WAIT_1

tcp4   0  65872  100.100.100.100.80 81.213.133.163.2327
FIN_WAIT_1

tcp4   0  55373  100.100.100.100.80 85.100.44.177.10329
FIN_WAIT_1

tcp4   0  13844  100.100.100.100.80 83.66.102.39.2187
FIN_WAIT_1

tcp4   0  46167  100.100.100.100.80 85.99.194.195.1449
FIN_WAIT_1

tcp4   0  0  100.100.100.100.22 172.16.0.80.1428
ESTABLISHED

tcp4   0 36  100.100.100.100.22 172.16.0.80.1149
ESTABLISHED

 

disk durumu:

 

/dev/ipsd0s1d9.7G2.5G6.4G28%/var

 

Bu sorunu nasıl aşabilirim? Mysql performans değerlendirmesi yapabilen bir
tool var mı. Webserver performans test tool u gibi?

 

Şimdiden teşekkürler. 



Re: [FreeBSD] mysql ve memory

2006-12-28 Başlik Gokhan Toplar

Selamlar,

Sistemde bazı ayarlamalar yapmak lazım gibi.
Aşağıdaki makale BSD ler için tuning içeriyor.
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtuning-kernel-limits.html

Linuxlar için my.cnf içinde
max_connections = 800
max_user_connections = 800
key_buffer = 36M
myisam_sort_buffer_size = 64M
join_buffer_size = 2M
read_buffer_size = 2M
sort_buffer_size = 3M
table_cache = 1024
thread_cache_size = 286
interactive_timeout = 25
wait_timeout = 1800
connect_timeout = 10
max_allowed_packet = 1M
max_connect_errors = 99
query_cache_limit = 1M
query_cache_size = 16M
query_cache_type = 1
tmp_table_size = 16M
#Kunthar EOM

Ayrıca file descriptor sayısını arttırmak lazım. Buradaki yönergeler 
takip edilebilir.

http://bcr2.uwaterloo.ca/~brecht/servers/openfiles.html

Yukarıdaki ayarlar günlük 50.000 bağlantı ve bağlantı başına hayli yüklü 
sql sorgularının çalıştığı bir sunucu için yapılmıştır.

Dikkat BSD ler için yukarıdaki ayarlar kullanılamaz.

Notlar:
1. Daima yapılan sql sorgularını kontrol etmek gerekir. Bunun için 
mysql-benchmark kurulması önerilir.

Mümkünse asla SELECT * from şeklinde sql sorguları kullanılmaması gerekir.
2. Tabloların optimize edilmesi faydalı olabilir. OPTIMIZE için arama 
yapınız.


Kolay gelsin,
Gökhan


Mesut GÜLNAZ wrote On 12/28/2006 12:59 PM:


061228 12:53:06 Out of memory;  Check if mysqld or some other process 
uses all available memory. If not you may have to use 'ulimit' to 
allow mysqld to use more memory or you can add more swap space


 


Hatası alıyorum.

 

last pid: 60524;  load averages: 15.43, 18.32, 20.05  
  up 9+01:25:02  12:55:35


387 processes: 4 running, 383 sleeping

CPU states: % user, % nice, % system, % interrupt, 
% idle


Mem: 586M Active, 2544M Inact, 294M Wired, 168M Cache, 112M Buf, 234M Free

Swap: 6144M Total, 80K Used, 6144M Free

 

  PID USERNAMEPRI NICE   SIZERES STATETIME   WCPU
CPU COMMAND


59890 mysql200   539M 97168K kserel   6:34 49.02% 
49.02% mysqld


60361 www   40 31252K 16464K sbwait   0:00  0.20%  
0.20% httpd


60079 www   40 30776K 15940K sbwait   0:01  0.15%  
0.15% httpd


 

 

 


-su-2.05b# ps auxwww | grep mysql

mysql   59853  0,0  0,0  1788  1152  p0  I12:45PM   0:00,01 
/bin/sh /usr/local/bin/mysqld_safe 
--defaults-extra-file=/var/db/mysql/my.cnf --user=mysql 
--datadir=/var/db/mysql --pid-file=/var/db/mysql/www.domain.com.pid -O 
max_connection=1000


mysql   59890  0,0  2,4 551704 97700  p0  S12:45PM   7:17,55 
/usr/local/libexec/mysqld --defaults-extra-file=/var/db/mysql/my.cnf 
--basedir=/usr/local --datadir=/var/db/mysql --user=mysql 
--pid-file=/var/db/mysql/www.domain.com.pid --port=3306 
--socket=/tmp/mysql.sock -O max_connection=1000


-su-2.05b#

 


Şeklinde çalışıyor.

 


Apache ye olan istek sayısı:

 


-su-2.05b# netstat -an | grep 100.80 | wc -l

1184

-su-2.05b# egrep MaxClients /usr/local/etc/apache/httpd.conf

MaxClients 512   ==è bu değeri 150 den max olan 512 ye 
ben çıkardım.


-su-2.05b#

 


Örnek birkaç satır

 


tcp4   0  0  100.100.100.100.80 *.*LISTEN

tcp4   0  65559  100.100.100.100.80 88.234.103.242.1498
FIN_WAIT_1


tcp4   0  64405  100.100.100.100.80 85.102.109.0.3054  
FIN_WAIT_1


tcp4   0  0  100.100.100.100.80 85.106.181.106.1831
FIN_WAIT_2


tcp4   0  0  100.100.100.100.80 85.106.181.106.1830
FIN_WAIT_2


tcp4   0  64777  100.100.100.100.80 85.102.210.77.2302 
FIN_WAIT_1


tcp4   0  65145  100.100.100.100.80 85.107.70.41.1477  
FIN_WAIT_1


tcp4   0  65872  100.100.100.100.80 81.213.133.163.2327
FIN_WAIT_1


tcp4   0  55373  100.100.100.100.80 85.100.44.177.10329
FIN_WAIT_1


tcp4   0  13844  100.100.100.100.80 83.66.102.39.2187  
FIN_WAIT_1


tcp4   0  46167  100.100.100.100.80 85.99.194.195.1449 
FIN_WAIT_1


tcp4   0  0  100.100.100.100.22 172.16.0.80.1428   
ESTABLISHED


tcp4   0 36  100.100.100.100.22 172.16.0.80.1149   
ESTABLISHED


 


disk durumu:

 


/dev/ipsd0s1d9.7G2.5G6.4G28%/var

 

Bu sorunu nasıl aşabilirim? Mysql performans değerlendirmesi yapabilen 
bir tool var mı. Webserver performans test tool u gibi?


 


Şimdiden teşekkürler.





[FreeBSD] bind de sorgulama

2006-12-28 Başlik Abdullah OZTURK
Bind de network deki digger makinalar dan sorgulama yapamiyorum server
uzerinden sorgulama yapabiliyorum  ve 

Tail ile baktigimda asagidaki sonucu aliyorum  12.0.0.1 adresini 953 den
dinliyor gozukuyor

 

 

command channel listening on 127.0.0.1#953

command channel listening on ::1#953

 

Named.conf dosayasinda  dinleme listesi;

listen-on   { 192.168.1.69; 127.0.0.1; };

 

gibi gorunuyor  akliniza gelen bir cozum var mi acaba..

 

 

 

selamlar