lostyazilim

my.cnf optimizasyonu

10 Mesajlar 2.105 Okunma
lstbozum
wmaraci reklam

hearted hearted WM Aracı Kullanıcı
  • Üyelik 14.02.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek İşsiz
  • Konum Adana
  • Ad Soyad Y** G**
  • Mesajlar 41
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
Benim büyük bir sosyal platform sitem var fakat 10 kişi girişinde çok fazla database sorgusu yapıyor. Yardım edebilir misiniz?
Mysqltuner testi:

./mysqltuner.pl >> MySQLTuner 1.4.0 - Major Hayden >> Bug reports, feature requests, and downloads at http://mysqltuner.com/ >> Run with '--help' for additional options and output filtering [OK] Currently running supported MySQL version 5.5.42-cll [OK] Operating on 64-bit architecture -------- Storage Engine Statistics ------------------------------------------- [--] Status: +ARCHIVE +BLACKHOLE +CSV -FEDERATED +InnoDB +MRG_MYISAM [--] Data in MyISAM tables: 63M (Tables: 452) [--] Data in InnoDB tables: 550M (Tables: 470) [--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17) [!!] Total fragmented tables: 476 -------- Security Recommendations ------------------------------------------- [OK] All database users have passwords assigned -------- Performance Metrics ------------------------------------------------- [--] Up for: 1d 19h 37m 2s (41M q [262.326 qps], 1M conn, TX: 66B, RX: 14B) [--] Reads / Writes: 84% / 16% [--] Total buffers: 597.0M global + 86.6M per thread (500 max threads) [!!] Maximum possible memory usage: 42.9G (750% of installed RAM) [OK] Slow queries: 0% (2K/41M) [OK] Highest usage of available connections: 48% (240/500) [OK] Key buffer size / total MyISAM indexes: 256.0M/14.1M
[OK] Key buffer hit rate: 99.4% (1M cached / 10K reads) [OK] Query cache efficiency: 56.7% (18M cached / 33M selects)
[!!] Query cache prunes per day: 30611
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 8M sorts)
[!!] Joins performed without indexes: 460935
[OK] Temporary tables created on disk: 0% (19K on disk / 8M total)
[OK] Thread cache hit rate: 99% (240 created / 1M connections)
[OK] Table cache hit rate: 51% (2K open / 3K opened)
[OK] Open file limit used: 3% (968/30K)
[OK] Table locks acquired immediately: 99% (53M immediate / 53M locks)
[!!] InnoDB buffer pool / data size: 5.0M/550.1M
[OK] InnoDB log waits: 0
-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
Reduce your overall MySQL memory footprint for system stability
Adjust your join queries to always utilize indexes
Variables to adjust:
*** MySQL's maximum memory usage is dangerously high ***
*** Add RAM before increasing MySQL buffer variables ***
query_cache_size (> 64M)
join_buffer_size (> 64.0M, or always use indexes with joins)
innodb_buffer_pool_size (>= 550M)

Sunucu 4 çekirdek 2.80 ghz ve 6 GB RAM var.
Birde litespeed kullanıyorum
Sizin önereceğiniz my.cnf optimizasyonu var mıdır?
 

 

wmaraci
reklam

sandokan sandokan WM Aracı Kullanıcı
  • Üyelik 09.04.2013
  • Yaş/Cinsiyet 33 / E
  • Meslek öğrenci
  • Konum Ankara
  • Ad Soyad ** **
  • Mesajlar 96
  • Beğeniler 3 / 5
  • Ticaret 1, (%100)
550 M innodb tablon var görünüyor. Öncelikle yeterli belleğin varsa innodb_buffer_pool_size minimum 600M veya üstü yap. Query cache size' da bir miktar artırabilirsin.
 

 

hearted hearted WM Aracı Kullanıcı
  • Üyelik 14.02.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek İşsiz
  • Konum Adana
  • Ad Soyad Y** G**
  • Mesajlar 41
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
İnnodb buffer size 900 üzeri bir rakam yazmıştım zaten query cache 64 yeterli mi?

Ek Olarak: My.cnf dosyamda bu:

[mysqld]
key_buffer=256M
myisam_sort_buffer_size=512M
join_buffer=64M
sort_buffer=22M
table_open_cache=10000
table_definition_cache=10000
thread_cache_size=512
connect_timeout=60
wait_timeout=500
interactive_timeout=500
max_allowed_packet=1024M
tmp_table_size=256M
max_heap_table_size=256M
query_cache_limit=64M
query_cache_size=64M
query_cache_type=1
open_files_limit=30000
thread_concurrency=16
max_connections=500
local-infile=0
connect_timeout=45
default-storage-engine=MyISAM
log-slow-queries=/var/lib/mysql/slow_queries.log
low_priority_updates=1
long_query_time = 1
innodb_buffer_pool_size=983

innodb_file_per_table=1
[mysqld_safe]
nice=-5

[mysqldump]
quick
max_allowed_packet=1024M

[myisamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M

Ek Olarak: Acaba şimdi anladım da
innodb_buffer_pool_size=983 olan en sonuna M eklemediğimden mi çalışmadı?
 

 

sandokan sandokan WM Aracı Kullanıcı
  • Üyelik 09.04.2013
  • Yaş/Cinsiyet 33 / E
  • Meslek öğrenci
  • Konum Ankara
  • Ad Soyad ** **
  • Mesajlar 96
  • Beğeniler 3 / 5
  • Ticaret 1, (%100)
yukarıdaki mysqltuner sonucuna göre innodb buffer pool size 5M görünüyordu. Ayrıca join buffer ve sort buffer size değerleri çok büyük gibi geldi bana. Tabi bu rakamlarla performans alıyorsan bilmiyorum. Sosyal paylaşım sitesinin ihtiyaçları farklı olabilir ama alttaki linkte verilen örnek konfigürasyonları inceleyebilirsin.

http://www.gk-root.com/GK-Blog/optimize-mysql-apache-on-cpanelwhm-server/
 

 

wmaraci
wmaraci

hearted hearted WM Aracı Kullanıcı
  • Üyelik 14.02.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek İşsiz
  • Konum Adana
  • Ad Soyad Y** G**
  • Mesajlar 41
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
Yok zaten 10 kişi girişinde database sorgusu load 10.99 felan ulaşıyor çok kasıyor yani innodb pool kısmını yanlış mı yaptım diyorsun? Sonuna M mi eklemem gerek?
 

 

sandokan sandokan WM Aracı Kullanıcı
  • Üyelik 09.04.2013
  • Yaş/Cinsiyet 33 / E
  • Meslek öğrenci
  • Konum Ankara
  • Ad Soyad ** **
  • Mesajlar 96
  • Beğeniler 3 / 5
  • Ticaret 1, (%100)
evet M ekleyerek dene. Sonra mysqltuner çalıştırdığında en altta "innodb_buffer_pool_size (>= 550M)" tavsiyesi vermemesi lazım.
 

 

hearted hearted WM Aracı Kullanıcı
  • Üyelik 14.02.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek İşsiz
  • Konum Adana
  • Ad Soyad Y** G**
  • Mesajlar 41
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
Peki başka önerin var mı? Tek değer değiştirip mysql restart yaptıktan sonra 2 gün beklemek lazım biliyorsun..

Ek Olarak: Birşey diyeceğimde bu ram kullanımı konusunda kafam karıştı.
Ssh den free yazınca ram kullanımı %99 kadarını kullanıyor ama htop yazınca ram kullanımı 1500MB lerde. Birde kontrol panelindeki vmware den bakınca aynı 1500Mb kullanıyor. Hangisine güveneyim?
 

 

sandokan sandokan WM Aracı Kullanıcı
  • Üyelik 09.04.2013
  • Yaş/Cinsiyet 33 / E
  • Meslek öğrenci
  • Konum Ankara
  • Ad Soyad ** **
  • Mesajlar 96
  • Beğeniler 3 / 5
  • Ticaret 1, (%100)
Ben free -m komutunda buffers/cache satırını dikkate alıyorum. O satırdaki free sütunu gerçek boş belleği veriyor bence.
 

 

hearted hearted WM Aracı Kullanıcı
  • Üyelik 14.02.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek İşsiz
  • Konum Adana
  • Ad Soyad Y** G**
  • Mesajlar 41
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
500 Felan diyordu da sitem hala aynı. Senin dediğin gibi Sonuna M ekledim şuan hata gözükmüyor join_buffer ile sort_buffer değerlerini azalttım şuan hata gözükmüyor ama sitem hala aşırı database sorgusu alıyor.
 

 

sandokan sandokan WM Aracı Kullanıcı
  • Üyelik 09.04.2013
  • Yaş/Cinsiyet 33 / E
  • Meslek öğrenci
  • Konum Ankara
  • Ad Soyad ** **
  • Mesajlar 96
  • Beğeniler 3 / 5
  • Ticaret 1, (%100)
Mycnf ayarlarında başka sorun kalmamıştır o zaman. Sorgularında sorun olabilir. Ya da eklenti, plugin vs. kullanıyorsan kötü kodlanmış olabilir. Cache kullanma imkanın varsa cok yardımı olur. Yada forumda optimizasyon işi yapan arkadaşlar var onlara ulaşabilirsin.
 

 

wmaraci
Konuyu toplam 2 kişi okuyor. (0 kullanıcı ve 2 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al