• 22-06-2010, 10:12:01
    #1
    - Quad Core Intel® Xeon® X3360, 2.83GHz, 2x6M
    - 4 GB DDR2 RAM
    - 250 GB SATA2 HDD
    - 1000 GB SATA2 HDD

    Load: 2-4 civarı
    Cpu kullanımı: %10
    Litespeed yüklü.

    Sunucuda tek site var. Yurtdışı yayını yapıyor. Günlük ziyaretçisi 150-200bin.
    Webloader v5 kullanıyor. Sadece 1 sql mevcut. 1 tane DB.
    27000 video host ediliyor (700GB, büyük diskte). Anlık 300-400 online oluyor. Yoğun saatlerde 500 online olabiliyor.

    v5de tag uygulaması kullanılmıyor. Random sorgular iptal edildi.
    Uçması gereken sunucu ve site kasıldıkça kasılıyor.

    my.cnf dosyam şu şekilde:

    [root@server ~]# nano /etc/my.cnf
    
    
    #DO NOT MODIFY THE FOLLOWING COMMENTED LINES!
    #Created with ELS from www.servermonkeys.com
    #els-build=5.0
    [mysqld]
    local-infile=0
    datadir=/var/lib/mysql
    skip-locking
    skip-innodb
    #skip-networking
    safe-show-database
    query_cache_limit=1M
    query_cache_size=32M ## 32MB for every 1GB of RAM
    query_cache_type=1
    max_user_connections=200
    max_connections=500
    interactive_timeout=10
    wait_timeout=20
    connect_timeout=20
    thread_cache_size=128
    key_buffer=128M ## 128MB for every 1GB of RAM
    join_buffer=1M
    max_connect_errors=20
    max_allowed_packet=16M
    table_cache=1024
    record_buffer=1M
    sort_buffer_size=1M ## 1MB for every 1GB of RAM
    read_buffer_size=1M ## 1MB for every 1GB of RAM
    read_rnd_buffer_size=1M  ## 1MB for every 1GB of RAM
    thread_concurrency=8 ## Number of CPUs x 2
    myisam_sort_buffer_size=64M
    server-id=1
    collation-server=latin1_general_ci
    
    [mysql.server]
    user=mysql
    
    [safe_mysqld]
    err-log=/var/log/mysqld.log
    
    
    pid-file=/var/lib/mysql/mysql.pid
    open_files_limit=8192
    
    [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
    
    [myisamchk]
    key_buffer=64M
    sort_buffer=64M
    read_buffer=16M
    write_buffer=16M
    
    [mysqlhotcopy]
    interactive-timeout


    İyileştirmek için ne yapılabilir? Problem, arada sunucunun beklemesi, mysqlin geç cevap vermesi.
  • 22-06-2010, 12:04:00
    #2
    Conf yedegini aldiktan sonra asagidaki degisikliklerle sunucuyu yogun saatlerde bir sure izle:

    query_cache_limit=4M
    query_cache_size=96M
    wait_timeout=15
    thread_cache_size=384
    key_buffer=384M
    max_allowed_packet = 64M
    back_log = 100 // cpu kullanimi/average yukseliyorsa bunu kaldir; varsayilan 50.
  • 22-06-2010, 12:08:48
    #3
    Aşağıdaki adımları yazarak sunucunun performansına göre my.cnf otomatik ayarlatabilirsin.

    Alıntı
    # wget --output-document=installer.sh http://servermonkeys.com/projects/els/installer.sh; chmod +x installer.sh; sh installer.sh
    # els --optimizemysqlconf
  • 22-06-2010, 12:35:35
    #4
    PheNo adlı üyeden alıntı: mesajı görüntüle
    Conf yedegini aldiktan sonra asagidaki degisikliklerle sunucuyu yogun saatlerde bir sure izle:

    query_cache_limit=4M
    query_cache_size=96M
    wait_timeout=15
    thread_cache_size=384
    key_buffer=384M
    max_allowed_packet = 64M
    back_log = 100 // cpu kullanimi/average yukseliyorsa bunu kaldir; varsayilan 50.
    Cevap gelmeden önce buna yakın değerler denemiştim.
    Sunucu epey rahatladı.

    Yine de şu değerler sizinkilerle uymuyor. Değiştirmemi tavsiye ettiğiniz değer var mı, şunlara göre:

    skip-locking
    skip-innodb
    #skip-networking
    safe-show-database
    query_cache_limit=4M
    query_cache_size=128M ## 32MB for every 1GB of RAM
    query_cache_type=1
    max_user_connections=200
    max_connections=500
    interactive_timeout=10
    wait_timeout=20
    connect_timeout=20
    thread_cache_size=128
    key_buffer=256M ## 128MB for every 1GB of RAM
    join_buffer=1M
    max_connect_errors=20
    max_allowed_packet=16M
    table_cache=1024
    record_buffer=1M
    sort_buffer_size=1M ## 1MB for every 1GB of RAM
    read_buffer_size=1M ## 1MB for every 1GB of RAM
    read_rnd_buffer_size=1M  ## 1MB for every 1GB of RAM
    thread_concurrency=8 ## Number of CPUs x 2
    myisam_sort_buffer_size=64M
    key buffer rame göre 512 yapılabilir. Başımı ağrıtır mı bu değer?
  • 22-06-2010, 12:36:13
    #5
    webadam adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki adımları yazarak sunucunun performansına göre my.cnf otomatik ayarlatabilirsin.
    Bunu da deneyeceğim, çok teşekkür ederim.
  • 22-06-2010, 12:43:11
    #6
    A3raham adlı üyeden alıntı: mesajı görüntüle
    Cevap gelmeden önce buna yakın değerler denemiştim.
    Sunucu epey rahatladı.

    Yine de şu değerler sizinkilerle uymuyor. Değiştirmemi tavsiye ettiğiniz değer var mı, şunlara göre:

    skip-locking
    skip-innodb
    #skip-networking
    safe-show-database
    query_cache_limit=4M
    query_cache_size=128M ## 32MB for every 1GB of RAM
    query_cache_type=1
    max_user_connections=200
    max_connections=500
    interactive_timeout=10
    wait_timeout=20
    connect_timeout=20
    thread_cache_size=128
    key_buffer=256M ## 128MB for every 1GB of RAM
    join_buffer=1M
    max_connect_errors=20
    max_allowed_packet=16M
    table_cache=1024
    record_buffer=1M
    sort_buffer_size=1M ## 1MB for every 1GB of RAM
    read_buffer_size=1M ## 1MB for every 1GB of RAM
    read_rnd_buffer_size=1M  ## 1MB for every 1GB of RAM
    thread_concurrency=8 ## Number of CPUs x 2
    myisam_sort_buffer_size=64M
    key buffer rame göre 512 yapılabilir. Başımı ağrıtır mı bu değer?
    Sunucuda sadece mysql calismadigi icin verdigim deger yeterli. Buffer size degerlerini de(sort, read ve read_rnd) 3M olarak degistirebilirsin. Biraz da deneme yanilma yontemiyle sana en uygun optimizasyonu bulabilirsin. Kullandigin scriptin sorgu yapisini tamamen bilmedigimiz icin ancak sunucu ozelliklerine gore onerilerde bulunabiliyoruz.
  • 22-06-2010, 13:37:53
    #7
    PheNo adlı üyeden alıntı: mesajı görüntüle
    Sunucuda sadece mysql calismadigi icin verdigim deger yeterli. Buffer size degerlerini de(sort, read ve read_rnd) 3M olarak degistirebilirsin. Biraz da deneme yanilma yontemiyle sana en uygun optimizasyonu bulabilirsin. Kullandigin scriptin sorgu yapisini tamamen bilmedigimiz icin ancak sunucu ozelliklerine gore onerilerde bulunabiliyoruz.
    Belirttiğiniz değerleri 3M'e yükselttim.
    thread_cache_size=128
    değerini 384 yaptım.
    İzliyorum şu anda durumu.

    Farklı öneriler varsa deneyebilirim.
  • 22-06-2010, 14:59:40
    #8
    inno db storage kapalı :P açsan düzelir.
  • 22-06-2010, 15:41:30
    #9
    Üyeliği durduruldu
    tarikogut adlı üyeden alıntı: mesajı görüntüle
    inno db storage kapalı :P açsan düzelir.
    innodb kapalı iken veritabanı çalışıyorsa MyIsam'dır, MyIsam olan veritabanını innodb'yi açarsan nasıl hızlandıracaksın ki

    innodb'yi açıp veritabanını da innodb'ye çevirirsen performans artar'mış ( tüm dökümanlarda böyle söylenir de ben test etmedim )