[FreeBSD] 8 GB RAM ve my.cnf

2008-03-27 Başlik Mesut GÜLNAZ
Anlık ziyaretçi sayısı 3000 olan ve quad-core 2 adet CPU nun yanında 8GB de
RAM e sahip olan bir sunucunun host ettiği, bir sitenin kullandığı mysql db
sinin my.cnf dosyasında yer alan değişkenler şu şekilde. (default değerleri
yazmadım)

 

back_log = 75

max_connections = 15000

key_buffer = 160M

max_allowed_packet = 64M

sort_buffer_size = 2M 

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 524288

myisam_sort_buffer_size = 64M

join_buffer_size = 1M

read_buffer_size = 1M

sort_buffer_size = 2M

table_cache = 1800

thread_cache_size = 512

wait_timeout = 60

connect_timeout = 10

tmp_table_size = 256M

max_heap_table_size = 128M

max_allowed_packet = 64M

max_connect_errors = 10

read_rnd_buffer_size = 524288

bulk_insert_buffer_size = 8M

query_cache_limit = 8M

query_cache_size = 512M #256M idi

query_cache_type = 1

query_prealloc_size = 65536

query_alloc_block_size = 131072

default-storage-engine = MyISAM

server-id   = 1

 

[mysqldump]

quick

quote-names

 

[isamchk]

key_buffer = 20M

 

[myisamchk]

key_buffer = 64M

sort_buffer_size = 64M

read_buffer = 16M

write_buffer = 16M

 

 

ancak gelen sorgulara geç cevap verdiğinden, apache bağlantıları askıda
kalıyor ve sitenin açılmasında sorunlar yaşanıyor. Ne gibi bir optimizasyon
yapılabilir? 4GB RAM li sunucularımda kullandığım optimizasyonu denedim.
Ancak fayda alamadım.

 

Sunucu şu logları da düşürmektedir.

 

080327 08:23:37 mysqld_safe mysqld from pid file
/var/db/mysql/db.mydomain.com.pid ended

080327 08:26:05 mysqld_safe Starting mysqld daemon with databases from
/var/db/mysql

080327  8:26:05 [Warning] Changed limits: max_open_files: 11095
max_connections: 10957  table_cache: 64

080327  8:26:05  InnoDB: Started; log sequence number 0 46419

080327  8:26:05 [Note] Event Scheduler: Loaded 0 events

080327  8:26:05 [Note] /usr/local/libexec/mysqld: ready for connections.

Version: '5.1.23-rc'  socket: '/tmp/mysql.sock'  port: 3306  FreeBSD port:
mysql-server-5.1.23

 

Not: medium-my.cnf yi kopyalayarak bazı satırları değiştirmiştim..

 

İyi çalışmalar...

 

 



Re: [FreeBSD] 8 GB RAM ve my.cnf

2008-03-27 Başlik timur akçay
merhaba,

özellikle key_buffer gibi değerlerle oynaman sorununu giderecektir sanırım.

mümkün olduğu kadar veri alışverişinin hafızada tutulmasını sağla.

kendi my.cnf yapılandırmam aşağıda, umarım yardımcı olur.

# Example MySQL config file for very large systems.
#
# This is for a large system with memory of 1G-2G where the system runs
mainly
# MySQL.
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/db/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the --help option.

# The following options will be passed to all MySQL clients
[client]
#password   = your_password
port= 3306
socket  = /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
log-slow-queries = /var/db/mysql/mysql-slow.log
long_query_time = 10

back_log = 100
port= 3306
socket  = /tmp/mysql.sock
skip-locking
#skip-innodb
max_connections = 1024
#key_buffer = 1536M
key_buffer = 2048M

max_allowed_packet = 2M
table_cache = 1024
sort_buffer_size = 4M
read_buffer_size = 4M
read_rnd_buffer_size = 16M
myisam_sort_buffer_size = 128M
thread_cache_size = 8
query-cache-type = 1
query_cache_size = 1024M
max_heap_table_size = 256M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 2

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the enable-named-pipe option) will render mysqld useless!
#
skip-networking

# Replication Master Server (default)
# binary logging is required for replication
#log-bin=mysql-bin

# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id   = 1

# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods :
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
#the syntax is:
#
#CHANGE MASTER TO MASTER_HOST=host, MASTER_PORT=port,
#MASTER_USER=user, MASTER_PASSWORD=password ;
#
#where you replace host, user, password by quoted strings and
#port by the master's port number (3306 by default).
#
#Example:
#
#CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
#MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# OR
#
# 2) Set the variables below. However, in case you choose this method, then
#start replication for the first time (even unsuccessfully, for example
#if you mistyped the password in master-password and the slave fails to
#connect), the slave will create a master.info file, and any later
#change in this file to the variables' values below will be ignored and
#overridden by the content of the master.info file, unless you shutdown
#the slave server, delete master.info and restart the slaver server.
#For that reason, you may want to leave the lines below untouched
#(commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 2 and 2^32 - 1
# (and different from the master)
# defaults to 2 if master-host is set
# but will not function as a slave if omitted
#server-id   = 2
#
# The replication master for this slave - required
#master-host =   hostname
# The replication master for this slave - required
#master-host =   hostname
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user =   username
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password =   password
#
# The port the master is listening on.
# optional - defaults to 3306
#master-port =  port
#
# binary logging - not required for slaves, but recommended
#log-bin=mysql-bin

# Point the following paths to different dedicated disks
#tmpdir = /tmp/
#log-update = /path-to-dedicated-directory/hostname

# Uncomment the following if you are using BDB tables
#bdb_cache_size = 384M
#bdb_max_lock = 10

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/db/mysql/
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
#innodb_log_group_home_dir = /var/db/mysql/
#innodb_log_arch_dir = /var/db/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 384M

RE: [FreeBSD] 8 GB RAM ve my.cnf

2008-03-27 Başlik Mehmet CELIK


Selam, bu ayarlar cok yuksek performans ister.. Yaklasik olarak, sadece Mysql'e 
34 GB RAM ayirmis gorunuyorsunuz. Tabii ki Mysql kontrolden cikmis bir sekilde 
makinayi somuruyor. Ayrica, kernel parametrelerinden maxfiles, maxfilesperproc, 
nmbcluster ve somaxconn degerlerini buraya gonderebilir misiniz ?


--
Mehmet CELIK


 From: [EMAIL PROTECTED]
 To: freebsd@lists.enderunix.org
 Date: Thu, 27 Mar 2008 08:50:21 +0200
 Subject: [FreeBSD] 8 GB RAM ve my.cnf
 
 
 Anlık ziyaretçi sayısı 3000 olan ve quad-core 2 adet CPU nun yanında 8GB de 
 RAM e sahip olan bir sunucunun host ettiği, bir sitenin kullandığı mysql db 
 sinin my.cnf dosyasında yer alan değişkenler şu şekilde. (default değerleri 
 yazmadım)
 
 
 
 back_log = 75
 
 max_connections = 15000
 
 key_buffer = 160M
 
 max_allowed_packet = 64M
 
 sort_buffer_size = 2M
 
 net_buffer_length = 8K
 
 read_buffer_size = 256K
 
 read_rnd_buffer_size = 524288
 
 myisam_sort_buffer_size = 64M
 
 join_buffer_size = 1M
 
 read_buffer_size = 1M
 
 sort_buffer_size = 2M
 
 table_cache = 1800
 
 thread_cache_size = 512
 
 wait_timeout = 60
 
 connect_timeout = 10
 
 tmp_table_size = 256M
 
 max_heap_table_size = 128M
 
 max_allowed_packet = 64M
 
 max_connect_errors = 10
 
 read_rnd_buffer_size = 524288
 
 bulk_insert_buffer_size = 8M
 
 query_cache_limit = 8M
 
 query_cache_size = 512M #256M idi
 
 query_cache_type = 1
 
 query_prealloc_size = 65536
 
 query_alloc_block_size = 131072
 
 default-storage-engine = MyISAM
 
 server-id   = 1
 
 
 
 [mysqldump]
 
 quick
 
 quote-names
 
 
 
 [isamchk]
 
 key_buffer = 20M
 
 
 
 [myisamchk]
 
 key_buffer = 64M
 
 sort_buffer_size = 64M
 
 read_buffer = 16M
 
 write_buffer = 16M
 
 
 
 
 
 ancak gelen sorgulara geç cevap verdiğinden, apache bağlantıları askıda 
 kalıyor ve sitenin açılmasında sorunlar yaşanıyor. Ne gibi bir optimizasyon 
 yapılabilir? 4GB RAM li sunucularımda kullandığım optimizasyonu denedim. 
 Ancak fayda alamadım.
 
 
 
 Sunucu şu logları da düşürmektedir.
 
 
 
 080327 08:23:37 mysqld_safe mysqld from pid file 
 /var/db/mysql/db.mydomain.com.pid ended
 
 080327 08:26:05 mysqld_safe Starting mysqld daemon with databases from 
 /var/db/mysql
 
 080327  8:26:05 [Warning] Changed limits: max_open_files: 11095  
 max_connections: 10957  table_cache: 64
 
 080327  8:26:05  InnoDB: Started; log sequence number 0 46419
 
 080327  8:26:05 [Note] Event Scheduler: Loaded 0 events
 
 080327  8:26:05 [Note] /usr/local/libexec/mysqld: ready for connections.
 
 Version: '5.1.23-rc'  socket: '/tmp/mysql.sock'  port: 3306  FreeBSD port: 
 mysql-server-5.1.23
 
 
 
 Not: medium-my.cnf yi kopyalayarak bazı satırları değiştirmiştim..
 
 
 
 İyi çalışmalar...

_
In a rush?  Get real-time answers with Windows Live Messenger.
http://www.windowslive.com/messenger/overview.html?ocid=TXT_TAGLM_WL_Refresh_realtime_042008

FreeBSD 6 kitabi: http://www.acikakademi.com/catalog/freebsd6
-
Listeye soru sormadan once lutfen http://ipucu.enderunix.org sitesine bakiniz.

Cikmak icin, e-mail: [EMAIL PROTECTED]
Liste arsivi: http://news.gmane.org/gmane.org.user-groups.bsd.turkey




RE: [FreeBSD] 8 GB RAM ve my.cnf

2008-03-27 Başlik Mehmet CELIK


Mysql'in kullandigi RAM'i nasil hesapladiginizi bilmiyorum, yalnizca mysql icin 
optimizasyon yapilacaksa ve RAM kullanimi hesaplacanaksa sizin kullandiiginiz 
my.cnf'a gore 33-34GB RAN cikiyor. Eger makina da maxfiles ve maxfileperproc 
degiskenini daha da yukseltirseniz (acilista mudahele ederek) belli bir sure 
sonunda yukseltilmis degeride tuketecektir !! 34 GB'ye kadar durmadan 
somurecektir. 

Daha detayli bir log ciktisi yollabilirseniz daha iyi olur.

-- Mehmet CELIK


 Date: Thu, 27 Mar 2008 14:11:50 +0200
 From: [EMAIL PROTECTED]
 To: freebsd@lists.enderunix.org
 Subject: Re: [FreeBSD] 8 GB RAM ve my.cnf
 
 merhaba,
 
 34 mü 3-4 gb mı, yazım yanlışı yok değil mi?
 
 total olarka 3gb aram ayırıyoruz.
 
 şu an baktığımda 3gb değerin sadece 700mb kasarınu kullanıyor mysql.
 
 parametre değerleri aşağıda.
 
 kern.maxfiles: 12328
 kern.maxfilesperproc: 11095
 kern.ipc.nmbclusters: 25600
 kern.ipc.somaxconn: 128
 
 
 
 
 27.03.2008 tarihinde Mehmet CELIK [EMAIL PROTECTED] yazmış:
 
 
 Selam, bu ayarlar cok yuksek performans ister.. Yaklasik olarak, sadece 
 Mysql'e 34 GB RAM ayirmis gorunuyorsunuz. Tabii ki Mysql kontrolden cikmis 
 bir sekilde makinayi somuruyor. Ayrica, kernel parametrelerinden maxfiles, 
 maxfilesperproc, nmbcluster ve somaxconn degerlerini buraya gonderebilir 
 misiniz ?
 
 
 --
 Mehmet CELIK
 
 
 From: [EMAIL PROTECTED]
 To: freebsd@lists.enderunix.org
 Date: Thu, 27 Mar 2008 08:50:21 +0200
 Subject: [FreeBSD] 8 GB RAM ve my.cnf
 


 Anlık ziyaretçi sayısı 3000 olan ve quad-core 2 adet CPU nun yanında 8GB de 
 RAM e sahip olan bir sunucunun host ettiği, bir sitenin kullandığı mysql db 
 sinin my.cnf dosyasında yer alan değişkenler şu şekilde. (default değerleri 
 yazmadım)



 back_log = 75

 max_connections = 15000

 key_buffer = 160M

 max_allowed_packet = 64M

 sort_buffer_size = 2M

 net_buffer_length = 8K

 read_buffer_size = 256K

 read_rnd_buffer_size = 524288

 myisam_sort_buffer_size = 64M

 join_buffer_size = 1M

 read_buffer_size = 1M

 sort_buffer_size = 2M

 table_cache = 1800

 thread_cache_size = 512

 wait_timeout = 60

 connect_timeout = 10

 tmp_table_size = 256M

 max_heap_table_size = 128M

 max_allowed_packet = 64M

 max_connect_errors = 10

 read_rnd_buffer_size = 524288

 bulk_insert_buffer_size = 8M

 query_cache_limit = 8M

 query_cache_size = 512M #256M idi

 query_cache_type = 1

 query_prealloc_size = 65536

 query_alloc_block_size = 131072

 default-storage-engine = MyISAM

 server-id   = 1



 [mysqldump]

 quick

 quote-names



 [isamchk]

 key_buffer = 20M



 [myisamchk]

 key_buffer = 64M

 sort_buffer_size = 64M

 read_buffer = 16M

 write_buffer = 16M





 ancak gelen sorgulara geç cevap verdiğinden, apache bağlantıları askıda 
 kalıyor ve sitenin açılmasında sorunlar yaşanıyor. Ne gibi bir optimizasyon 
 yapılabilir? 4GB RAM li sunucularımda kullandığım optimizasyonu denedim. 
 Ancak fayda alamadım.



 Sunucu şu logları da düşürmektedir.



 080327 08:23:37 mysqld_safe mysqld from pid file 
 /var/db/mysql/db.mydomain.com.pid ended

 080327 08:26:05 mysqld_safe Starting mysqld daemon with databases from 
 /var/db/mysql

 080327  8:26:05 [Warning] Changed limits: max_open_files: 11095  
 max_connections: 10957  table_cache: 64

 080327  8:26:05  InnoDB: Started; log sequence number 0 46419

 080327  8:26:05 [Note] Event Scheduler: Loaded 0 events

 080327  8:26:05 [Note] /usr/local/libexec/mysqld: ready for connections.

 Version: '5.1.23-rc'  socket: '/tmp/mysql.sock'  port: 3306  FreeBSD port: 
 mysql-server-5.1.23



 Not: medium-my.cnf yi kopyalayarak bazı satırları değiştirmiştim..



 İyi çalışmalar...
 
 
 _
 In a rush?  Get real-time answers with Windows Live Messenger.
 http://www.windowslive.com/messenger/overview.html?ocid=TXT_TAGLM_WL_Refresh_realtime_042008
 
 FreeBSD 6 kitabi: http://www.acikakademi.com/catalog/freebsd6
 -
 Listeye soru sormadan once lutfen http://ipucu.enderunix.org sitesine bakiniz.
 
 Cikmak icin, e-mail: [EMAIL PROTECTED]
 Liste arsivi: http://news.gmane.org/gmane.org.user-groups.bsd.turkey

_
How well do you know your celebrity gossip?
http://originals.msn.com/thebigdebate?ocid=T002MSN03N0707A

FreeBSD 6 kitabi: http://www.acikakademi.com/catalog/freebsd6
-
Listeye soru sormadan once lutfen http://ipucu.enderunix.org sitesine bakiniz.

Cikmak icin, e-mail: [EMAIL PROTECTED]
Liste arsivi: http://news.gmane.org/gmane.org.user-groups.bsd.turkey




Re: [FreeBSD] 8 GB RAM ve my.cnf

2008-03-27 Başlik timur akçay
merhaba,

mehmet bey, mysql kullandığı ram değerini siz nasıl hesaplıyorsunuz?

bu my.cnf muhtemelen kurulumla gelen örneklerden biri.

şimdi bakıyorum ve ben bazı birkaç şey eklemişim.

misal key_buffer olarak key_buffer değeri düşük olursa mysql'in isteklere
cevap hızı da düşüyor.

doğrusu uzun zamandır da hiç ellemedim, aynen bu şekilde çalışıyor sistem.

kernel parametreleri kurulumla geldiği şekilde varsayılan olarak ayarlı, o
konuda hiçbir düzenleme yapmadım.


27.03.2008 tarihinde Mehmet CELIK [EMAIL PROTECTED] yazmış:



 Mysql'in kullandigi RAM'i nasil hesapladiginizi bilmiyorum, yalnizca mysql
 icin optimizasyon yapilacaksa ve RAM kullanimi hesaplacanaksa sizin
 kullandiiginiz my.cnf'a gore 33-34GB RAN cikiyor. Eger makina da maxfiles
 ve maxfileperproc degiskenini daha da yukseltirseniz (acilista mudahele
 ederek) belli bir sure sonunda yukseltilmis degeride tuketecektir !! 34
 GB'ye kadar durmadan somurecektir.

 Daha detayli bir log ciktisi yollabilirseniz daha iyi olur.

 -- Mehmet CELIK

 
  Date: Thu, 27 Mar 2008 14:11:50 +0200
  From: [EMAIL PROTECTED]

  To: freebsd@lists.enderunix.org

  Subject: Re: [FreeBSD] 8 GB RAM ve my.cnf

 
  merhaba,
 
  34 mü 3-4 gb mı, yazım yanlışı yok değil mi?
 
  total olarka 3gb aram ayırıyoruz.
 
  şu an baktığımda 3gb değerin sadece 700mb kasarınu kullanıyor mysql.
 
  parametre değerleri aşağıda.
 
  kern.maxfiles: 12328
  kern.maxfilesperproc: 11095
  kern.ipc.nmbclusters: 25600
  kern.ipc.somaxconn: 128
 
 
 
 
  27.03.2008 tarihinde Mehmet CELIK [EMAIL PROTECTED] yazmış:
 
 
  Selam, bu ayarlar cok yuksek performans ister.. Yaklasik olarak, sadece
 Mysql'e 34 GB RAM ayirmis gorunuyorsunuz. Tabii ki Mysql kontrolden cikmis
 bir sekilde makinayi somuruyor. Ayrica, kernel parametrelerinden maxfiles,
 maxfilesperproc, nmbcluster ve somaxconn degerlerini buraya gonderebilir
 misiniz ?
 
 
  --
  Mehmet CELIK
 
  
  From: [EMAIL PROTECTED]
  To: freebsd@lists.enderunix.org
  Date: Thu, 27 Mar 2008 08:50:21 +0200
  Subject: [FreeBSD] 8 GB RAM ve my.cnf
 
 
 
  Anlık ziyaretçi sayısı 3000 olan ve quad-core 2 adet CPU nun yanında
 8GB de RAM e sahip olan bir sunucunun host ettiği, bir sitenin kullandığı
 mysql db sinin my.cnf dosyasında yer alan değişkenler şu şekilde. (default
 değerleri yazmadım)
 
 
 
  back_log = 75
 
  max_connections = 15000
 
  key_buffer = 160M
 
  max_allowed_packet = 64M
 
  sort_buffer_size = 2M
 
  net_buffer_length = 8K
 
  read_buffer_size = 256K
 
  read_rnd_buffer_size = 524288
 
  myisam_sort_buffer_size = 64M
 
  join_buffer_size = 1M
 
  read_buffer_size = 1M
 
  sort_buffer_size = 2M
 
  table_cache = 1800
 
  thread_cache_size = 512
 
  wait_timeout = 60
 
  connect_timeout = 10
 
  tmp_table_size = 256M
 
  max_heap_table_size = 128M
 
  max_allowed_packet = 64M
 
  max_connect_errors = 10
 
  read_rnd_buffer_size = 524288
 
  bulk_insert_buffer_size = 8M
 
  query_cache_limit = 8M
 
  query_cache_size = 512M #256M idi
 
  query_cache_type = 1
 
  query_prealloc_size = 65536
 
  query_alloc_block_size = 131072
 
  default-storage-engine = MyISAM
 
  server-id   = 1
 
 
 
  [mysqldump]
 
  quick
 
  quote-names
 
 
 
  [isamchk]
 
  key_buffer = 20M
 
 
 
  [myisamchk]
 
  key_buffer = 64M
 
  sort_buffer_size = 64M
 
  read_buffer = 16M
 
  write_buffer = 16M
 
 
 
 
 
  ancak gelen sorgulara geç cevap verdiğinden, apache bağlantıları askıda
 kalıyor ve sitenin açılmasında sorunlar yaşanıyor. Ne gibi bir optimizasyon
 yapılabilir? 4GB RAM li sunucularımda kullandığım optimizasyonu denedim.
 Ancak fayda alamadım.
 
 
 
  Sunucu şu logları da düşürmektedir.
 
 
 
  080327 08:23:37 mysqld_safe mysqld from pid file
 /var/db/mysql/db.mydomain.com.pid ended
 
  080327 08:26:05 mysqld_safe Starting mysqld daemon with databases from
 /var/db/mysql
 
  080327  8:26:05 [Warning] Changed limits: max_open_files:
 11095  max_connections: 10957  table_cache: 64
 
  080327  8:26:05  InnoDB: Started; log sequence number 0 46419
 
  080327  8:26:05 [Note] Event Scheduler: Loaded 0 events
 
  080327  8:26:05 [Note] /usr/local/libexec/mysqld: ready for
 connections.
 
  Version: '5.1.23-rc'  socket: '/tmp/mysql.sock'  port: 3306  FreeBSD
 port: mysql-server-5.1.23
 
 
 
  Not: medium-my.cnf yi kopyalayarak bazı satırları değiştirmiştim..
 
 
 
  İyi çalışmalar...
 
 
  _
  In a rush?  Get real-time answers with Windows Live Messenger.
 
 http://www.windowslive.com/messenger/overview.html?ocid=TXT_TAGLM_WL_Refresh_realtime_042008
 
  FreeBSD 6 kitabi: http://www.acikakademi.com/catalog/freebsd6
  -
  Listeye soru sormadan once lutfen http://ipucu.enderunix.org sitesine
 bakiniz.
 
  Cikmak icin, e-mail: [EMAIL PROTECTED]
  Liste arsivi: http://news.gmane.org/gmane.org.user-groups.bsd.turkey

Re: [FreeBSD] 8 GB RAM ve my.cnf

2008-03-27 Başlik Doruk Fisek
Thu, 27 Mar 2008 08:50:21 +0200, Mesut GÜLNAZ [EMAIL PROTECTED] :

 ancak gelen sorgulara geç cevap verdiğinden, apache bağlantıları
 askıda kalıyor ve sitenin açılmasında sorunlar yaşanıyor. Ne gibi bir
 optimizasyon yapılabilir? 4GB RAM li sunucularımda kullandığım
 optimizasyonu denedim. Ancak fayda alamadım.
Sorgularin kendisinde de bir problem olabilir mi? MySQL'e yavas
sorgulari loglatip, onlari optimize etmeyi de deneyebilirsiniz.

http://dev.mysql.com/doc/mysql/en/Slow_query_log.html

   Doruk

--
FISEK ENSTITUSU - http://www.fisek.com.tr

FreeBSD 6 kitabi: http://www.acikakademi.com/catalog/freebsd6
-
Listeye soru sormadan once lutfen http://ipucu.enderunix.org sitesine bakiniz.

Cikmak icin, e-mail: [EMAIL PROTECTED]
Liste arsivi: http://news.gmane.org/gmane.org.user-groups.bsd.turkey




RE: [FreeBSD] 8 GB RAM ve my.cnf

2008-03-27 Başlik Mehmet CELIK


Selamlar, kernel parametreleri zaten dinamik olarak kendini degistiriyor, 
default olarak 4000 civarinda olmasi gerekiyor maxfiles degerinin. Kendisi 
otomatik olarak genisletmis.

Mysql'in RAM kullanimi hesabina gelince de dediginiz gibi key_buffer 
mysql'in cevap vermesinde onemli rol oynuyor.

ram = key_buffer + { ( sort_buffer + read_buffer ) * max_connections }

Bu denklem sizin sisteminiz icin, yaklasik olarak 33-34GB RAM ister. Cok fazla.

Bunun disinda, Mysql'in gelen sorgulari da belli bir siraya sokmasi soz 
konusudur. Eger sorgulari optimize edemezseniz, sorgu icin beklemede kalan bir 
thread arkasindan gelecek diger bir thread'in onunu kesecektir. Askida kalan 
her sorgu, sorguyu olusturan httpd'yide bekletecektir. httpd beklemsi CPU 
uzerine cok fazla yuk bindirir. CPU'larinda Mysql tarafindan efektif bir 
sekilde kullanilabilmesi icin, thread_concurrency() degerine de bakmalisiniz.

Mesela surekli acilan tablolarin sayisini kontrol edebilirsiniz. Bu tablolarin 
sayisina istinaden, table_cache degerini de yukseltmelisiniz. table_cache'in 
buyumesiyle, cache'lenen tablolarin INDEX boyutuda alacaktir.

Bir onceki mailinizi gozonunde bulundurarak, sizin my.cnf dosyanizla kucuk bir 
benchmark yaptim, 41 GB fiziksel ram istiyor.. 

Kolay gelsin, iyi calismalar..

--
Mehmet CELIK


 Date: Thu, 27 Mar 2008 14:57:40 +0200
 From: [EMAIL PROTECTED]
 To: freebsd@lists.enderunix.org
 Subject: Re: [FreeBSD] 8 GB RAM ve my.cnf
 
 merhaba,
 
 mehmet bey, mysql kullandığı ram değerini siz nasıl hesaplıyorsunuz?
 
 bu my.cnf muhtemelen kurulumla gelen örneklerden biri.
 
 şimdi bakıyorum ve ben bazı birkaç şey eklemişim.
 
 misal key_buffer olarak key_buffer değeri düşük olursa mysql'in isteklere 
 cevap hızı da düşüyor.
 
 doğrusu uzun zamandır da hiç ellemedim, aynen bu şekilde çalışıyor sistem.
 
 kernel parametreleri kurulumla geldiği şekilde varsayılan olarak ayarlı, o 
 konuda hiçbir düzenleme yapmadım.
 
 
 27.03.2008 tarihinde Mehmet CELIK [EMAIL PROTECTED] yazmış:
 
 
 Mysql'in kullandigi RAM'i nasil hesapladiginizi bilmiyorum, yalnizca mysql 
 icin optimizasyon yapilacaksa ve RAM kullanimi hesaplacanaksa sizin 
 kullandiiginiz my.cnf'a gore 33-34GB RAN cikiyor. Eger makina da maxfiles ve 
 maxfileperproc degiskenini daha da yukseltirseniz (acilista mudahele ederek) 
 belli bir sure sonunda yukseltilmis degeride tuketecektir !! 34 GB'ye kadar 
 durmadan somurecektir.
 
 Daha detayli bir log ciktisi yollabilirseniz daha iyi olur.
 
 -- Mehmet CELIK
 
 
 Date: Thu, 27 Mar 2008 14:11:50 +0200
 From: [EMAIL PROTECTED]
 
 To: freebsd@lists.enderunix.org
 
 Subject: Re: [FreeBSD] 8 GB RAM ve my.cnf
 

 merhaba,

 34 mü 3-4 gb mı, yazım yanlışı yok değil mi?

 total olarka 3gb aram ayırıyoruz.

 şu an baktığımda 3gb değerin sadece 700mb kasarınu kullanıyor mysql.

 parametre değerleri aşağıda.

 kern.maxfiles: 12328
 kern.maxfilesperproc: 11095
 kern.ipc.nmbclusters: 25600
 kern.ipc.somaxconn: 128




 27.03.2008 tarihinde Mehmet CELIK [EMAIL PROTECTED] yazmış:


 Selam, bu ayarlar cok yuksek performans ister.. Yaklasik olarak, sadece 
 Mysql'e 34 GB RAM ayirmis gorunuyorsunuz. Tabii ki Mysql kontrolden cikmis 
 bir sekilde makinayi somuruyor. Ayrica, kernel parametrelerinden maxfiles, 
 maxfilesperproc, nmbcluster ve somaxconn degerlerini buraya gonderebilir 
 misiniz ?


 --
 Mehmet CELIK

 
 From: [EMAIL PROTECTED]
 To: freebsd@lists.enderunix.org
 Date: Thu, 27 Mar 2008 08:50:21 +0200
 Subject: [FreeBSD] 8 GB RAM ve my.cnf



 Anlık ziyaretçi sayısı 3000 olan ve quad-core 2 adet CPU nun yanında 8GB de 
 RAM e sahip olan bir sunucunun host ettiği, bir sitenin kullandığı mysql db 
 sinin my.cnf dosyasında yer alan değişkenler şu şekilde. (default değerleri 
 yazmadım)



 back_log = 75

 max_connections = 15000

 key_buffer = 160M

 max_allowed_packet = 64M

 sort_buffer_size = 2M

 net_buffer_length = 8K

 read_buffer_size = 256K

 read_rnd_buffer_size = 524288

 myisam_sort_buffer_size = 64M

 join_buffer_size = 1M

 read_buffer_size = 1M

 sort_buffer_size = 2M

 table_cache = 1800

 thread_cache_size = 512

 wait_timeout = 60

 connect_timeout = 10

 tmp_table_size = 256M

 max_heap_table_size = 128M

 max_allowed_packet = 64M

 max_connect_errors = 10

 read_rnd_buffer_size = 524288

 bulk_insert_buffer_size = 8M

 query_cache_limit = 8M

 query_cache_size = 512M #256M idi

 query_cache_type = 1

 query_prealloc_size = 65536

 query_alloc_block_size = 131072

 default-storage-engine = MyISAM

 server-id   = 1



 [mysqldump]

 quick

 quote-names



 [isamchk]

 key_buffer = 20M



 [myisamchk]

 key_buffer = 64M

 sort_buffer_size = 64M

 read_buffer = 16M

 write_buffer = 16M





 ancak gelen sorgulara geç cevap verdiğinden, apache bağlantıları askıda 
 kalıyor ve sitenin açılmasında sorunlar yaşanıyor. Ne gibi bir optimizasyon 
 yapılabilir? 4GB RAM li sunucularımda kullandığım optimizasyonu