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...