İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

tuning-primer.sh mysql tuning scripti - mysql performans raporu

Holokost

0
İyinet Üyesi
Katılım
10 Ekim 2006
Mesajlar
1,613
Reaction score
0
Konum
Ankara
Ayarlarda bir oynama yapmaya gerek yok, belirtiler normal ve gayet guzel.

anladım teşekkür ederim
peki zaman zaman load da aşırı yükselme oluyor 40'a 50'ye varan şekilde
genel itibariyle 0-5 arası gidip geliyor fakat zaman zaman dediğim gibi load da aşırı yükselme oluyor baktığım zaman kayda değer denilebilecek oranda saldırı da olmuyor acaba bu neden kaynaklanabilir bunu nasıl öğrenebiliriz :eek:
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
anladım teşekkür ederim
peki zaman zaman load da aşırı yükselme oluyor 40'a 50'ye varan şekilde
genel itibariyle 0-5 arası gidip geliyor fakat zaman zaman dediğim gibi load da aşırı yükselme oluyor baktığım zaman kayda değer denilebilecek oranda saldırı da olmuyor acaba bu neden kaynaklanabilir bunu nasıl öğrenebiliriz :eek:

Bunun pek cok sebebi olabilir.
Load yuksek oldugunda ssh den "top" komutu calistirip izleyin. (Ctrl+C ile cikabilirsiniz)
En cok CPU yiyen programi tesbit etmeye calisin, genellikle o komut en ust sirada olur.
Ardindan "netstat -an|more" komutu ile SYN_RECV komutlarina bakin, coksa saldir i oluyor olabilir.
Bir de apache access_log u tail yapin "tail -f access_log" saldiri varmi bakin.
Belki de bazen cok mail gonderiyor olabilir yada bir cronjob calistiriyor olabilirsiniz.
 

estranged

0
İyinet Üyesi
Katılım
27 Aralık 2007
Mesajlar
18
Reaction score
0
Konum
Istanbul
Bir süredir tuning premier ile optimizasyon yapiyorum, sonuçların çoğunluğu yeşil renkte ama bir kaç tane kırmızı var bunlar düzelmiyor. Sanırım bunlar artık my.cnf ayarları ile düzelecek şeyler de değil zaten. Sunucudaki scriptlerin query'lerindeki yanlışlar dolayısı ile olan şeyler. Genelde php-nuke sebep oluyor böyle sorunlara, ama sunucu shared hosting sunucusu yüzlerce hesap var, php-nuke kullanmayın, yada daha düzgün scriptler yazın diyemeyiz ki müşterilere :) Bunun dışında önerileriniz var mı? Server load vs gayet normal bu arada, bir sorun yok, hız gayet iyi.. Sadece donanımdan tam performans alabilmek amaçlı optimizasyon yapiyorum.

Sunucu özellikleri:

Dual Cpu Quad Core Xeon Clovertown 5335 2.0 GHZ
4 GB RAM
4*250 GB SATA II HD (RAID 10)

MySQL Version 5.0.45-community i686

Uptime = 3 days 22 hrs 6 min 17 sec
Avg. qps = 259
Total Questions = 87985485
Threads Connected = 3


SLOW QUERIES
Current long_query_time = 4 sec.
You have 4597 out of 87985539 that take longer than 4 sec. to complete
The slow query log is NOT enabled.
Your long_query_time seems to be fine

WORKER THREADS
Current thread_cache_size = 100
Current threads_cached = 51
Current threads_per_sec = 0
Historic threads_per_sec = 0
Your thread_cache_size is fine

MAX CONNECTIONS
Current max_connections = 300
Current threads_connected = 2
Historic max_used_connections = 53
The number of used connections is 17% of the configured maximum.
Your max_connections variable seems to be fine.

MEMORY USAGE
Max Memory Ever Allocated : 1 G
Configured Max Per-thread Buffers : 2 G
Configured Max Global Buffers : 924 M
Configured Max Memory Limit : 3 G
Physical Memory : 3.95 G
Max memory limit seem to be within acceptable norms

KEY BUFFER
Current MyISAM index space = 1 G
Current key_buffer_size = 850 M
Key cache miss rate is 1 : 4626
Key buffer fill ratio = 73.00 %
Your key_buffer_size seems to be fine

QUERY CACHE
Query cache is enabled
Current query_cache_size = 64 M
Current query_cache_used = 38 M
Current query_cache_limit = 1 M
Current Query cache Memory fill ratio = 60.25 %
Current query_cache_min_res_unit = 4 K
Query Cache is 18 % fragmented
Run "FLUSH QUERY CACHE" periodically to defragment the query cache memory
If you have many small queries lower 'query_cache_min_res_unit' to reduce fragmentation.
MySQL won't cache query results that are larger than query_cache_limit in size

SORT OPERATIONS
Current sort_buffer_size = 2 M
Current record/read_rnd_buffer_size = 1 M
Sort buffer seems to be fine

JOINS
Current join_buffer_size = 3.00 M
You have had 24297 queries where a join could not use an index properly
You have had 410 joins without keys that check for key usage after each row

You should enable "log-queries-not-using-indexes"
Then look for non indexed joins in the slow query log.
If you are unable to optimize your queries you may want to increase your
join_buffer_size to accommodate larger joins in one pass.

Note! This script will still suggest raising the join_buffer_size when
ANY joins not using indexes are found.

OPEN FILES LIMIT
Current open_files_limit = 65535 files
The open_files_limit should typically be set to at least 2x-3x
that of table_cache if you have heavy MyISAM usage.
Your open_files_limit value seems to be fine

TABLE CACHE
Current table_cache value = 35000 tables
You have a total of 15895 tables
You have 17288 open tables.
The table_cache value seems to be fine

TEMP TABLES
Current max_heap_table_size = 240 M
Current tmp_table_size = 240 M
Of 566808 temp tables, 24% were created on disk
Created disk tmp tables ratio seems fine

TABLE SCANS
Current read_buffer_size = 1 M
Current table scan ratio = 97 : 1
read_buffer_size seems to be fine

TABLE LOCKING
Current Lock Wait ratio = 1 : 100
You may benefit from selective use of InnoDB.
If you have long running SELECT's against MyISAM tables and perform
frequent updates consider setting 'low_priority_updates=1'


mevcut my.cnf dosyası:

Kod:
[mysqld]
safe-show-database
concurrent_insert=2
skip-innodb
connect_timeout=15
long_query_time=4
interactive_timeout=100
thread_concurrency=16
wait_timeout=300
join_buffer_size=3M
key_buffer=850M
max_allowed_packet=16M
max_connections=300
myisam_sort_buffer_size=32M
read_buffer_size=2M
read_rnd_buffer_size=2M
sort_buffer_size=2M
thread_cache_size=100
query_cache_size=64M
query_cache_limit=1M
query_cache_type=1
open_files_limit=75000
table_cache=35000
max_heap_table_size = 240M
tmp_table_size = 240M
 

ceyhun81

0
İyinet Üyesi
Katılım
16 Ocak 2008
Mesajlar
42
Reaction score
0
Merhaba iyinet;

Diğer konuda sunucu bilgilerini aktarmamı istemiştin. Bende 2. sunucuya kurulum yapıp bilgilerini aktarmak istedim.. Bu sunucuda da elbet yardımınla yapılabilecek bişiler vardır..

Sunucu Özellikleri :
Processor #1 Vendor: GenuineIntel
Processor #1 Name: Intel(R) Pentium(R) D CPU 3.40GHz
Processor #1 speed: 3401.773 MHz
Processor #1 cache size: 2048 KB

Memory: 2071944k/2096128k available (1884k kernel code, 22472k reserved, 760k data, 184k init, 1177908k highmem)


HTML:
         -- MYSQL PERFORMANCE TUNING PRIMER --
             - By: Matthew Montgomery -

MySQL Version 4.1.22-standard i686

Uptime = 8 days 23 hrs 53 min 52 sec
Avg. qps = 858
Total Questions = 666926045
Threads Connected = 7

Server has been running for over 48hrs.
It should be safe to follow these recommendations

To find out more information on how each of these
runtime variables effects performance visit:
http://dev.mysql.com/doc/refman/4.1/en/server-system-variables.html
Visit http://www.mysql.com/products/enterprise/advisors.html
for info about MySQL's Enterprise Monitoring and Advisory Service

SLOW QUERIES
Current long_query_time = 10 sec.
You have 1393 out of 666926316 that take longer than 10 sec. to complete
The slow query log is NOT enabled.
Your long_query_time may be too high, I typically set this under 5 sec.

WORKER THREADS
Current thread_cache_size = 0
Current threads_cached = 0
Current threads_per_sec = 3
Historic threads_per_sec = 1
Threads created per/sec are overrunning threads cached
You should raise thread_cache_size

MAX CONNECTIONS
Current max_connections = 500
Current threads_connected = 8
Historic max_used_connections = 105
The number of used connections is 21% of the configured maximum.
Your max_connections variable seems to be fine.

MEMORY USAGE
Max Memory Ever Allocated : 300 M
Configured Max Per-thread Buffers : 1 G
Configured Max Global Buffers : 17 M
Configured Max Memory Limit : 1 G
Physical Memory : 1.97 G
Max memory limit seem to be within acceptable norms

KEY BUFFER
Current MyISAM index space = 110 M
Current key_buffer_size = 7 M
Key cache miss rate is 1 : 133
Key buffer fill ratio = 50.00 %
Your key_buffer_size seems to be too high.
Perhaps you can use these resources elsewhere

QUERY CACHE
Query cache is supported but not enabled
Perhaps you should set the query_cache_size

SORT OPERATIONS
Current sort_buffer_size = 2 M
Current record/read_rnd_buffer_size = 256 K
Sort buffer seems to be fine

JOINS
Current join_buffer_size = 132.00 K
You have had 2733 queries where a join could not use an index properly
You should enable "log-queries-not-using-indexes"
Then look for non indexed joins in the slow query log.
If you are unable to optimize your queries you may want to increase your
join_buffer_size to accommodate larger joins in one pass.

Note! This script will still suggest raising the join_buffer_size when
ANY joins not using indexes are found.

OPEN FILES LIMIT
Current open_files_limit = 4096 files
The open_files_limit should typically be set to at least 2x-3x
that of table_cache if you have heavy MyISAM usage.
Your open_files_limit value seems to be fine

TABLE CACHE
Current table_cache value = 64 tables
You have a total of 8898 tables
You have 64 open tables.
Current table_cache hit rate is 0%, while 100% of your table cache is in use
You should probably increase your table_cache

TEMP TABLES
Current max_heap_table_size = 16 M
Current tmp_table_size = 32 M
Of 489409 temp tables, 32% were created on disk
Effective in-memory tmp_table_size is limited to max_heap_table_size.
Perhaps you should increase your tmp_table_size and/or max_heap_table_size
to reduce the number of disk-based temporary tables
Note! BLOB and TEXT columns are not allow in memory tables.
If you are using these columns raising these values might not impact your
ratio of on disk temp tables.

TABLE SCANS
Current read_buffer_size = 128 K
Current table scan ratio = 2 : 1
read_buffer_size seems to be fine

TABLE LOCKING
Current Lock Wait ratio = 1 : 37390
Your table locking seems to be fine
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
Bir süredir tuning premier ile optimizasyon yapiyorum, sonuçların çoğunluğu yeşil renkte ama bir kaç tane kırmızı var bunlar düzelmiyor. Sanırım bunlar artık my.cnf ayarları ile düzelecek şeyler de değil zaten. Sunucudaki scriptlerin query'lerindeki yanlışlar dolayısı ile olan şeyler. Genelde php-nuke sebep oluyor böyle sorunlara, ama sunucu shared hosting sunucusu yüzlerce hesap var, php-nuke kullanmayın, yada daha düzgün scriptler yazın diyemeyiz ki müşterilere :) Bunun dışında önerileriniz var mı? Server load vs gayet normal bu arada, bir sorun yok, hız gayet iyi.. Sadece donanımdan tam performans alabilmek amaçlı optimizasyon yapiyorum.

Sunucu özellikleri:

Dual Cpu Quad Core Xeon Clovertown 5335 2.0 GHZ
4 GB RAM
4*250 GB SATA II HD (RAID 10)

Öncelikle belirteyim makina özellikleri harika ( aynısı bende de var :) )
Optimizasyon aynen sizin yaptığınız şekilde yapılmalıdır, devamlı.
Bugün iyi sonuç almanız yarın alacağınız anlamına gelmez, veriler büyür, kodlar değişir vb...

vbulletin gibi hazır uygulama kullanmıyorsanız indexlerinizi gözden geçirin. Yeni indexlere ihityacınız olabilir. Her primary ve foreign key üzerinde en az 1 index olduğundan emin olun.

Şimdilik bunları bir ekleyin bakalım:

query_cache_min_res_unit = 2K
low_priority_updates=1
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
Merhaba iyinet;

Diğer konuda sunucu bilgilerini aktarmamı istemiştin. Bende 2. sunucuya kurulum yapıp bilgilerini aktarmak istedim.. Bu sunucuda da elbet yardımınla yapılabilecek bişiler vardır..

Sunucu Özellikleri :
Processor #1 Vendor: GenuineIntel
Processor #1 Name: Intel(R) Pentium(R) D CPU 3.40GHz
Processor #1 speed: 3401.773 MHz
Processor #1 cache size: 2048 KB

Memory: 2071944k/2096128k available (1884k kernel code, 22472k reserved, 760k data, 184k init, 1177908k highmem)

Açıkcası MySQL in pek kullanılmıyor gibi görünüyor.

my.cnf içinde [mysqld] altına yoksa bunları ekleyin varsa bu şekilde değiştirin

skip-locking
skip-name-resolve
thread_cache_size = 128
query_cache_type = 1
query_cache_size = 32M
query_cache_limit = 4M
table_cache = 15000
low_priority_updates = 1
 

TaMAvRa

0
İyinet Üyesi
Katılım
30 Mayıs 2007
Mesajlar
123
Reaction score
0
Konum
LocalHost
./tuning-primer.sh

Komutunu verdigimde

Kod:
- INITIAL LOGIN ATTEMPT FAILED -

Testing Stored for passwords: None Found

- RETRY LOGIN ATTEMPT FAILED -

Could not auto detect login info!

Do you have your login handy ? [y/N] :

Alıyorum...

Yes cevabıda versem no cevabıda versem malesef geçemiyorum... Sonuç yok...

Yes Dediğimde

Kod:
Do you have your login handy ? [y/N] : y
User:
Password:
Would you like me to create a ~/.my.cnf file for you? [y/N] : y

~/.my.cnf already exists!

Replace ? [y/N] : y
- FINAL LOGIN ATTEMPT FAILED -

Unable to log into socket: /var/lib/mysql/mysql.sock

No Dediğimde

Kod:
Do you have your login handy ? [y/N] : n

Please create a valid login to MySQL
Or, set correct values for  'user=' and 'password=' in ~/.my.cnf

Would you like me to create a ~/.my.cnf file for you? [y/N] : y

~/.my.cnf already exists!

Replace ? [y/N] : y

Değişmesini kabul dahi etsem yinede değişmiyor... my.cnf yi kaldırdım yine denedim yine olmadı... Chmod verdim yazabilmesi için yine geçmedi... Acaba nerde eksiklik yapıyorum ?
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
./tuning-primer.sh

Komutunu verdigimde

Kod:
- INITIAL LOGIN ATTEMPT FAILED -

Testing Stored for passwords: None Found

- RETRY LOGIN ATTEMPT FAILED -

Could not auto detect login info!

Do you have your login handy ? [y/N] :

Alıyorum...

Yes cevabıda versem no cevabıda versem malesef geçemiyorum... Sonuç yok...

Yes Dediğimde

Kod:
Do you have your login handy ? [y/N] : y
User:
Password:
Would you like me to create a ~/.my.cnf file for you? [y/N] : y

~/.my.cnf already exists!

Replace ? [y/N] : y
- FINAL LOGIN ATTEMPT FAILED -

Unable to log into socket: /var/lib/mysql/mysql.sock

No Dediğimde

Kod:
Do you have your login handy ? [y/N] : n

Please create a valid login to MySQL
Or, set correct values for  'user=' and 'password=' in ~/.my.cnf

Would you like me to create a ~/.my.cnf file for you? [y/N] : y

~/.my.cnf already exists!

Replace ? [y/N] : y

Değişmesini kabul dahi etsem yinede değişmiyor... my.cnf yi kaldırdım yine denedim yine olmadı... Chmod verdim yazabilmesi için yine geçmedi... Acaba nerde eksiklik yapıyorum ?

my.cnf içinde [client] bölümüne aşağıdaki user va password bilgilerini ekleyin.

[client]
user=root
password=rootun şifresi
 

TaMAvRa

0
İyinet Üyesi
Katılım
30 Mayıs 2007
Mesajlar
123
Reaction score
0
Konum
LocalHost
O işlemi uyguladığım halde alıyorum o hatayı...

Not : mysql i restartladım...!

Kod:
# 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]
user=root
password=**************
port		= ****
socket		= /var/lib/mysql/mysql.sock
[mysqld]
old_passwords = 1
datadir = /var/lib/mysql
# Here follows entries for some specific programs

# The MySQL server
port		= ****
socket		= /var/lib/mysql/mysql.sock
skip-locking
skip-innodb
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
O işlemi uyguladığım halde alıyorum o hatayı...

Not : mysql i restartladım...!

Kod:
# 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]
user=root
password=**************
port		= ****
socket		= /var/lib/mysql/mysql.sock
[mysqld]
old_passwords = 1
datadir = /var/lib/mysql
# Here follows entries for some specific programs

# The MySQL server
port		= ****
socket		= /var/lib/mysql/mysql.sock
skip-locking
skip-innodb

Hmm, sanırım bu konuda scriptin yazarından yardım istemeniz gerekecek.
 

TaMAvRa

0
İyinet Üyesi
Katılım
30 Mayıs 2007
Mesajlar
123
Reaction score
0
Konum
LocalHost
Yani sende olmuyorsa yapma dedin:D (Yardım isteme olayı benim için imkansız gibi malesef dil yok)

Çok uğraştım o kadar çok faktör denedimki artık düşündüklerimi deneyip denemediğimi unuttum :)

Yardım ve ilgin için teşekkürler...! Sağlık olsun... 4 GB Ramla 2.8 Xeon sunucu 1 Tane Forum sitesini çekmiyor... Mysql beni artık deli etti... Bu makinanın Hakkından gayri format gelir sanırım:D
 

TaMAvRa

0
İyinet Üyesi
Katılım
30 Mayıs 2007
Mesajlar
123
Reaction score
0
Konum
LocalHost
iyinet orası espri idi yanlış anladın...! Parentez içerisinde açıklamasını yaptım...

Ayrıcada teşekkürlerimi gönderdim...

Gerçekten art niyetli yazmadım yanlış anlama...

Kolay gelsin...

Tekrar teşekkürler...
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
iyinet orası espri idi yanlış anladın...! Parentez içerisinde açıklamasını yaptım...

Ayrıcada teşekkürlerimi gönderdim...

Gerçekten art niyetli yazmadım yanlış anlama...

Kolay gelsin...

Tekrar teşekkürler...


Çalıştımı sen onu söyle.
Sorun değil, benim espri anlayışım biraz kıttır.
 

TaMAvRa

0
İyinet Üyesi
Katılım
30 Mayıs 2007
Mesajlar
123
Reaction score
0
Konum
LocalHost
Uzatmayım... Teşekkürler...

MySQL Root Şifresi Sıfırlamak isminde bi arama yapmak hiç aklıma gelmemişti..

Tesadüf eseri

http://alicambaz.blogspot.com/2007_09_01_archive.html Linkinde Buldugum bilgiler çok faydalı oldu... Ve Script Çalıştı...

Önce Mysql Sunucusunu Durudruyoruz...

Kod:
service mysqld stop

Durduramaz isek mysql pid nosunu

Kod:
kill -9 pidno

Komutu yardımı ile durduruyoruz...!

Daha sonra

Kod:
mysqld --skip-grant-tables --user=root

Komutu ile yetki tablolarını pas geçerek mysql i root olarak çalıstırıyoruz...

Daha sonra yeni bir konsol açarak

Kod:
mysql -u root
Komutu ile root olarak bağlantı sağlıyoruz...

Daha sonra

Kod:
UPDATE mysql.user SET Password=PASSWORD('yenişifreniziyazın') WHERE User='root';
Komutu ile (Parantez içini değiştiriniz) root şifresini Değiştiriyoruz...

Kod:
FLUSH PRIVILEGES;
Komutu ile pass geçilen yetkileri tekrardan yüklüyoruz...

Script için tekrar teşekkürler... 2 gün sonra denememizi yaparak sonuçları kontrol edeceğiz...
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
Aşağıdaki komut yeterli olurdu ama...

Kod:
GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost';
 

ceyhun81

0
İyinet Üyesi
Katılım
16 Ocak 2008
Mesajlar
42
Reaction score
0
Merhaba Arkadaşlar;

Ciddi manada problem yaşıyorum. Memory kullamımı %50lerde geziyor ve aşağıda gördüğünüz gibi akıl almaz load averagelarına ulaşıyor... Yapabileceğiniz en iyi öneriyi yaparsanız çok ama çok memnun olurum son durumu size bildiririm. sistem yaklaşık 4 gündür ayakta... Lütfen ne yapabiliyorsak yapalım :(

Başka önerileriniz varsa lütfen belirtiniz.. Şimdiden çok teşekkürler..

CPU : CORE2DUO 2.4 GHZ
RAM 2GB DDR2 667 MHZ

top - 13:08:08 up 63 days, 12:26, 1 user, load average: 34.09, 30.24, 17.22
Tasks: 271 total, 4 running, 264 sleeping, 3 stopped, 0 zombie
Cpu(s): 39.3% us, 24.8% sy, 0.0% ni, 3.1% id, 32.5% wa, 0.3% hi, 0.0% si
Mem: 2066800k total, 1934764k used, 132036k free, 50068k buffers
Swap: 4192956k total, 160k used, 4192796k free, 745792k cached

HTML:
MySQL Version 4.1.22-standard i686

Warning: Server has not been running for at least 48hrs.
It may not be safe to use these recommendations

To find out more information on how each of these
runtime variables effects performance visit:
http://dev.mysql.com/doc/refman/4.1/en/server-system-variables.html
Visit http://www.mysql.com/products/enterprise/advisors.html
for info about MySQL's Enterprise Monitoring and Advisory Service

SLOW QUERIES
Current long_query_time = 10 sec.
You have 95 out of 111622757 that take longer than 10 sec. to complete
The slow query log is NOT enabled.
Your long_query_time may be too high, I typically set this under 5 sec.

WORKER THREADS
Current thread_cache_size = 256
Current threads_cached = 60
Current threads_per_sec = 0
Historic threads_per_sec = 0
Your thread_cache_size is fine

MAX CONNECTIONS
Current max_connections = 500
Current threads_connected = 63
Historic max_used_connections = 122
The number of used connections is 24% of the configured maximum.
Your max_connections variable seems to be fine.

MEMORY USAGE
Max Memory Ever Allocated : 864 M
Configured Max Per-thread Buffers : 2 G
Configured Max Global Buffers : 202 M
Configured Max Memory Limit : 2 G
Physical Memory : 1.97 G

Max memory limit exceeds 90% of physical memory

KEY BUFFER
Current MyISAM index space = 110 M
Current key_buffer_size = 64 M
Key cache miss rate is 1 : 13641
Key buffer fill ratio = 61.00 %
Your key_buffer_size seems to be too high.
Perhaps you can use these resources elsewhere

QUERY CACHE
Query cache is enabled
Current query_cache_size = 128 M
Current query_cache_used = 79 M
Current query_cache_limit = 1 M
Current Query cache Memory fill ratio = 61.97 %
Current query_cache_min_res_unit = 4 K
Query Cache is 15 % fragmented
Run "FLUSH QUERY CACHE" periodically to defragment the query cache memory
If you have many small queries lower 'query_cache_min_res_unit' to reduce fragmentation.
MySQL won't cache query results that are larger than query_cache_limit in size

SORT OPERATIONS
Current sort_buffer_size = 2 M
Current record/read_rnd_buffer_size = 256 K
Sort buffer seems to be fine

JOINS
Current join_buffer_size = 1.00 M
You have had 31 queries where a join could not use an index properly
You should enable "log-queries-not-using-indexes"
Then look for non indexed joins in the slow query log.
If you are unable to optimize your queries you may want to increase your
join_buffer_size to accommodate larger joins in one pass.

Note! This script will still suggest raising the join_buffer_size when
ANY joins not using indexes are found.

OPEN FILES LIMIT
Current open_files_limit = 8702 files
The open_files_limit should typically be set to at least 2x-3x
that of table_cache if you have heavy MyISAM usage.
You currently have open more than 75% of your open_files_limit
You should set a higher value for open_files_limit in my.cnf

TABLE CACHE
Current table_cache value = 4096 tables
You have a total of 10673 tables
You have 4096 open tables.
Current table_cache hit rate is 31%, while 100% of your table cache is in use
You should probably increase your table_cache

TEMP TABLES
Current max_heap_table_size = 16 M
Current tmp_table_size = 32 M
Of 57681 temp tables, 33% were created on disk
Effective in-memory tmp_table_size is limited to max_heap_table_size.
Perhaps you should increase your tmp_table_size and/or max_heap_table_size
to reduce the number of disk-based temporary tables
Note! BLOB and TEXT columns are not allow in memory tables.
If you are using these columns raising these values might not impact your
ratio of on disk temp tables.

TABLE SCANS
Current read_buffer_size = 1 M
Current table scan ratio = 574 : 1
read_buffer_size seems to be fine

TABLE LOCKING
Current Lock Wait ratio = 1 : 7564
Your table locking seems to be fine

HTML:
[mysqld]
skip-locking
query_cache_limit=1M
query_cache_size=128M
query_cache_type=1
max_user_connections=200
max_connections=500
interactive_timeout=10
wait_timeout=10
connect_timeout=10
thread_cache_size=256
key_buffer=64M
join_buffer=1M
max_allowed_packet=1024M
table_cache=4096
record_buffer=1M
sort_buffer_size=2M
read_buffer_size=2M
max_connect_errors=10


# Try number of CPU's*2 for thread_concurrency
thread_concurrency=16
myisam_sort_buffer_size=64M
#log-bin
server-id=1

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/lib/mysql/mysql.pid
open_files_limit=8192
local-infile=off

[mysqldump]
quick
max_allowed_packet=16M

[mysql]
no-auto-rehash
#safe-updates

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

[mysqlhotcopy]
interactive-timeout


Yardımlarınız için şimdiden teşekkür ederim..
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
Merhaba Arkadaşlar;

Ciddi manada problem yaşıyorum. Memory kullamımı %50lerde geziyor ve aşağıda gördüğünüz gibi akıl almaz load averagelarına ulaşıyor... Yapabileceğiniz en iyi öneriyi yaparsanız çok ama çok memnun olurum son durumu size bildiririm. sistem yaklaşık 4 gündür ayakta... Lütfen ne yapabiliyorsak yapalım :(

Başka önerileriniz varsa lütfen belirtiniz.. Şimdiden çok teşekkürler..

Anladığım kadarı ile bazılarınız sistemlerindeki yükün nedenini MySQL e bağlıyorsunuz.

MySQL en kötü hali ile yani sıfır konfigürasyon ile dahi hiçbir sorun yaşatmaz.

Serverınızdaki load (aşırı yük) sorununun kaynağını MySQL de aramanız yanlıştır.

Peki sorun ne o zaman?

Bu tür aşırı yüklere genellikle 3 şey neden olur.

1. Hatalı, yanlış yazılmış kod. Örneğin sonsuz döngüler, veritabanında yaratılmamış indexler.
2. Saldırılar
3. Donanım sorunları veya yetersizlği: Fanı sorunlu aşırı ısınan makine, bellek yada hard diskinde hata olan makine, yetersiz bellek yada hard disk yada CPU.

- Tüm bunları kontrol etmenizin ardından, web serverinizi optimize edin.
- Webserver optimizasyonu ardından PHP yi optimize edin, Xcache vb.. kurun
- Ardından veritabanını optimize edin.
 

scorpi

0
İyinet Üyesi
Katılım
11 Ocak 2008
Mesajlar
32
Reaction score
0
sunucu bilgileri


Kod:
Processor Information 
Processor #1 Vendor: GenuineIntel
Processor #1 Name: Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz
Processor #1 speed: 2394.073 MHz
Processor #1 cache size: 4096 KB


Current Memory Usage 
             total       used       free     shared    buffers     cached
Mem:       3360668    1172276    2188392          0          0          0


[mysqld]
safe-show-database
skip-locking
skip-name-resolve
max_connections = 500
thread_cache_size = 128
key_buffer = 256M
query_cache_type = 1
query_cache_size = 32M
query_cache_limit = 4M
table_cache = 3000
low_priority_updates = 1

1-2 hafta bekledikten sonra tekrar çıktıyı koyun.



son durum

Kod:
        -- MYSQL PERFORMANCE TUNING PRIMER --
             - By: Matthew Montgomery -

MySQL Version 4.1.22-standard-log i686

Uptime = 7 days 18 hrs 3 min 37 sec
Avg. qps = 18
Total Questions = 12396769
Threads Connected = 3

Server has been running for over 48hrs.
It should be safe to follow these recommendations

To find out more information on how each of these
runtime variables effects performance visit:
http://dev.mysql.com/doc/refman/4.1/en/server-system-variables.html
Visit http://www.mysql.com/products/enterprise/advisors.html
for info about MySQL's Enterprise Monitoring and Advisory Service

SLOW QUERIES
Current long_query_time = 10 sec.
You have 167 out of 12396798 that take longer than 10 sec. to complete
The slow query log is NOT enabled.
Your long_query_time may be too high, I typically set this under 5 sec.

WORKER THREADS
Current thread_cache_size = 128
Current threads_cached = 112
Current threads_per_sec = 0
Historic threads_per_sec = 0
Your thread_cache_size is fine

MAX CONNECTIONS
Current max_connections = 500
Current threads_connected = 2
Historic max_used_connections = 113
The number of used connections is 22% of the configured maximum.
Your max_connections variable seems to be fine.

MEMORY USAGE
Max Memory Ever Allocated : 1 G
Configured Max Per-thread Buffers : 6 G
Configured Max Global Buffers : 298 M
Configured Max Memory Limit : 6 G
Physical Memory : 3.20 G

Max memory limit exceeds 90% of physical memory

KEY BUFFER
Current MyISAM index space = 102 M
Current key_buffer_size = 256 M
Key cache miss rate is 1 : 4169
Key buffer fill ratio = 30.00 %
Your key_buffer_size seems to be too high.
Perhaps you can use these resources elsewhere

QUERY CACHE
Query cache is enabled
Current query_cache_size = 32 M
Current query_cache_used = 26 M
Current query_cache_limit = 4 M
Current Query cache Memory fill ratio = 81.78 %
Current query_cache_min_res_unit = 4 K
Query Cache is 7 % fragmented
Run "FLUSH QUERY CACHE" periodically to defragment the query cache memory
If you have many small queries lower 'query_cache_min_res_unit' to reduce fragme                                                                             ntation.
However, 1666833 queries have been removed from the query cache due to lack of m                                                                             emory
Perhaps you should raise query_cache_size
MySQL won't cache query results that are larger than query_cache_limit in size

SORT OPERATIONS
Current sort_buffer_size = 2 M
Current record/read_rnd_buffer_size = 7 M
Sort buffer seems to be fine

JOINS
Current join_buffer_size = 132.00 K
You have had 2213 queries where a join could not use an index properly
You have had 38 joins without keys that check for key usage after each row
You should enable "log-queries-not-using-indexes"
Then look for non indexed joins in the slow query log.
If you are unable to optimize your queries you may want to increase your
join_buffer_size to accommodate larger joins in one pass.

Note! This script will still suggest raising the join_buffer_size when
ANY joins not using indexes are found.

OPEN FILES LIMIT
Current open_files_limit = 6510 files
The open_files_limit should typically be set to at least 2x-3x
that of table_cache if you have heavy MyISAM usage.
Your open_files_limit value seems to be fine

TABLE CACHE
Current table_cache value = 3000 tables
You have a total of 711 tables
You have 930 open tables.
The table_cache value seems to be fine

TEMP TABLES
Current max_heap_table_size = 16 M
Current tmp_table_size = 32 M
Of 1740536 temp tables, 0% were created on disk
Effective in-memory tmp_table_size is limited to max_heap_table_size.
Created disk tmp tables ratio seems fine

TABLE SCANS
Current read_buffer_size = 1 M
Current table scan ratio = 742 : 1
read_buffer_size seems to be fine

TABLE LOCKING
Current Lock Wait ratio = 1 : 1185
You may benefit from selective use of InnoDB.


şuan cpu kullanımı ve load lar gayet iyi load 5 üstüne çok az çıktı(genelde 0 ile 2 arasında). son durumu degerlendirirseniz sevinirim. Yardımlarınız için çok tşk ler.
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
şuan cpu kullanımı ve load lar gayet iyi load 5 üstüne çok az çıktı(genelde 0 ile 2 arasında). son durumu degerlendirirseniz sevinirim. Yardımlarınız için çok tşk ler.

Gayet iyi görünüyor, key_buffer sanki olması gerektiğinden biraz büyük gibi ama, yeterince boş belleğin olduğu için sorun değil öyle kalsın.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst