İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

Online sayısı artınca load yükseliyor fakat site çok yavaşlamıyor

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
makinede normal şartlarda 2.00'ı geçmeyen bir load oluyor. fakat online sayısı (üye son işlemden 15dk itibaren online gözüküyor) 140 yi geçince load çok fazla yükselmeye başlıyor.

şu anda 230 civarı online üye var ve load 108.00'a çıktı. sayfa açılıyor, normal açılış hızından 3-4 saniye geç geliyor gibi birşey. load çok yüksek olmasına rağmen fena değil yani.

bu makine için neler yapabilirim, daha hızlandırmak için elimden ne gelir fikir almak istiyorum?

makine layeredtechde ve portu geçen hafta 100mbps'ye yükselttim. ayrıca zend optimizer kurulu. tek bir site çalışıyor php+mysql.

makine özellikleri

amd athlon 3800 64 bit
1gb ram
80gb hdd
100mbps port
plesk
centos 4 32 bit

my.cnf aşağıdaki gibi:

[mysqld]
set-variable=local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
max_connections = 650
key_buffer = 256M
myisam_sort_buffer_size = 256M
join_buffer_size = 2M
read_buffer_size = 2M
sort_buffer_size = 4M
table_cache = 1500
thread_cache_size = 384
wait_timeout = 15
connect_timeout = 10
tmp_table_size = 256M
max_heap_table_size = 256M
max_allowed_packet = 64M
max_connect_errors = 1000000
read_rnd_buffer_size = 1M
bulk_insert_buffer_size = 16M
query_cache_limit = 12M
query_cache_size = 256M
query_cache_type = 1
query_prealloc_size = 163840
query_alloc_block_size = 32768

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=latin5
default-collation=latin5_turkish_ci
 

STI

0
İyinet Üyesi
Katılım
24 Ağustos 2005
Mesajlar
348
Reaction score
0
Konum
Berlin
Sitende online sayısını gösteriyorsan kaldırmaktan başlayabilirsin.Ayrıca gereksiz gördügün sorgularıda kaldırarak büyük oranda azaltabilirsin.
Denenmiştir ;)
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
online sayısını gösteriyorumda. göstermek için 10bin satırı olan uyeler tablosuna bağlanmıyorum zaten. üyeler siteye her girişte site istatistik tablosunda online alanını 1 arttırıyor sistem, aynı şekilde 15 geçincede 1 düşürüyor. yani online üye gösterme gibi bir sorunum yok. dahada önemlisi php+mysql de bir optimizasyon sorun yok. çok optimize bir şekilde hazırladım. benim merak ettiğim server için ektradan birşey yapabilirmiyim
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
arkadaşlık sitesi.

sorgularda problem yok, scriptten eminim. sorum şu, makinin özelliklerini ve my.cnf ayarlamasını yazdım, zend optimizer kurduğumuda belirttim, bu makine için yapabileceğim başka birşey var mı onu soruyorum. php ve mysql hakkında yardım istemiyorum arkadaşlar, öyle olsa o bölüme açardım. web kurulum ve ayarlar bölümündeyiz, dikkatinizi çekerim.
 

nokie

0
İyinet Üyesi
Katılım
23 Mart 2005
Mesajlar
1,597
Reaction score
8
Konum
İzmir
kullanmış olduğun server özelliklerine göre my.cnf en optimize değerler:

not: sadece atay'ın serverı içindir.

my.cnf ve http.conf değerlerini düzenlemeden önce birer yedeklerini almayı unutma.

Kod:
[mysqld]
set-variable=local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
old_passwords=1
safe-show-database
back_log = 75
skip-innodb
max_connections = 500
key_buffer = 16M
myisam_sort_buffer_size = 64M
join_buffer_size = 1M
read_buffer_size = 1M
sort_buffer_size = 2M
table_cache = 1800
thread_cache_size = 384
wait_timeout = 45
connect_timeout = 10
tmp_table_size = 64M
max_heap_table_size = 64M
max_allowed_packet = 64M
max_connect_errors = 10
thread_concurrency = 4
read_rnd_buffer_size = 524288
bulk_insert_buffer_size = 8M
query_cache_limit = 2M
query_cache_size = 16M
query_cache_type = 1
query_prealloc_size = 131072
query_alloc_block_size = 65536
default-storage-engine = MyISAM

[mysqld_safe]
open_files_limit = 8192
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=latin5
default-collation=latin5_turkish_ci

[mysqldump]
quick
max_allowed_packet = 16M

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

[mysqlhotcopy]
interactive-timeout

değişiklikleri yaptıktan sonra mysql serverı resetle.

not: sadece atay'ın serverı içindir.

ayrıca bu konfigurasyona uygun httpd.conf değerleride şu şekilde ayarla:

Kod:
KeepAlive: On
MaxKeepAliveRequests: 100
KeepAliveTimeout: 1
MinSpareServers: 10
MaxSpareServers: 15
StartServers: 10
MaxClients: 150
MaxRequestsPerChild: 1000

değişiklikleri yaptıktan sonra apache serverı resetle.

not: sadece atay'ın serverı içindir.

2.00 load değeri yüksek bir değerdir ayrıca, senin serverının özelliklerinden daha düşük bir arkadaşımın serverında 700 civarı online'da 0,15 gibi değerler oynuyor.

atay' Alıntı:
şu anda 230 civarı online üye var ve load 108.00'a çıktı.

108.00 işlemciyi tavaya atıp kızartmaya başlamak gibi birşeydir :)

yukarıda verdiğim konfigurasyon değerleri yeterli olmazsa, sunucunu baştan aşşağı optimize etmen gerekebilir, özellikle kullandığın scriptide incelemeye almanı öneririm.
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
ayarlamaları yaptıktan sonra pleskte şöyle bir hata aldım:

ERROR: PleskMainDBException
MySQL query failed: Can't find file: 'misc.MYI' (errno: 2)

0: /usr/local/psa/admin/plib/common_func.php3:211
db_query(string 'select param, val from misc')
1: /usr/local/psa/admin/plib/common_func.php3:490
get_param(string 'mysql41_compatible')
2: /usr/local/psa/admin/plib/common_func.php3:387
db_set_names()
3: /usr/local/psa/admin/plib/common_func.php3:366
db_connect_real(string 'localhost', string 'admin', string '*********', string 'psa')
4: /usr/local/psa/admin/plib/common_func.php3:346
db_connect()
5: /usr/local/psa/admin/auto_prepend/auth.php3:87
 

CyberTurk

0
İyinet Üyesi
Katılım
13 Mayıs 2005
Mesajlar
2,232
Reaction score
3
Konum
istanbul
skip-innodb bu satırı kaldır

kernel versiyonun nedir? kernelden kaynaklanan load sorunun olabilir...
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
makineyi alalı yaklaşık 6 ay oldu. ve hiç kernel update yapmadım?
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
skip-innodb kaldırınca plesk sorunsuz girdi.

nokie ve cyberturk teşekkür ederim.
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
kernel güncellemesi hiç yapmadım fakat kernel güncellemesi sırasında sorunlu güncelleme yüzünden makinesi açılmayan çok kişiyi gördüm. açıkcası kernel güncellemeye cesaret edemiyorum..
 

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.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst