-
Ü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?
-
Ü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.
-
Ü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ı?
-
Ü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?
-
Ü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.
-
Ü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?
-
Ü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.
-
Ü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.
-
Ü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.