• 24-07-2015, 01:48:35
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar,
    Veritabanında çok satırlı bi tablom var, bugün yeni bir sütun eklemeye karar verdim. görevi verdikten sonra çok bekletince, can sıkıntısından işlemci kullanımına falan baktım, birşey dikkatimi çekti.


    işlemcilerden sadece biri mysql görevini yapmaya zorlarken, diğerleri boş boş yatıyor. (işlemci 8 çekirdek, centos kurulu)

    aşağıdaki gibi bi durum çıkıyor ortaya:


    boştaki çekirdekleri de kullanarak işlemleri biraz daha hızlandıramaz mıyız?
  • 24-07-2015, 02:14:00
    #2
    Merhaba,

    Mysql bu processı otomatik gerçekleştirir. Tek çekirdek kullanması zaten mantiken yanlış. o anlık iş kullanım gücü o kadar olduğu için onu kullanıyordur.

    aşağıda ki komutu ssh konsolun uygulayıp çıktıyı verirseniz daha iyi bir analiz yapabilirim.
    top -c
  • 24-07-2015, 02:21:08
    #3
    sunucuoptimizasyon.com
    mysql 5.5 ve altı ise my.cnf a aşağıdaki kodu ekleyip, mysql servisini yeniden başlatın.

    Alıntı
    thread_concurrency=8
    (fiziksel çekirdek x 2)

    Veritabanı innodb ise

    Alıntı
    innodb_thread_concurrency=8
    Ancak bu kuralların her zaman işlem üzerinde etkisi olması beklenmemeli. Çalıştırılan işleme göre kullanımı sistem kendisi belirleyebilir. İhtiyaç olursa zaten diğer çekirdeklere geçiş yapabilir.
  • 24-07-2015, 02:24:58
    #4
    teşekkür ederim
  • 24-07-2015, 02:26:10
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    ps -eL | grep -c mysqld çıktısını görebilir miyim?
  • 24-07-2015, 02:33:14
    #6
    AndyCap adlı üyeden alıntı: mesajı görüntüle
    ps -eL | grep -c mysqld çıktısını görebilir miyim?
    139 diyor sadece

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 02:33:14 -->-> Daha önceki mesaj 02:29:36 --

    Elazığlı168 adlı üyeden alıntı: mesajı görüntüle
    mysql 5.5 ve altı ise my.cnf a aşağıdaki kodu ekleyip, mysql servisini yeniden başlatın.



    (fiziksel çekirdek x 2)

    Veritabanı innodb ise



    Ancak bu kuralların her zaman işlem üzerinde etkisi olması beklenmemeli. Çalıştırılan işleme göre kullanımı sistem kendisi belirleyebilir.
    fiziksel çekirdek x2 demişsiniz ya hocam, benimkine 8 mi demeliyim 16 mı?

  • 24-07-2015, 02:34:36
    #7
    sunucuoptimizasyon.com
    RoyalTANITIM adlı üyeden alıntı: mesajı görüntüle
    139 diyor sadece

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 02:33:14 -->-> Daha önceki mesaj 02:29:36 --



    fiziksel çekirdek x2 demişsiniz ya hocam, benimkine 8 mi demeliyim 16 mı?

    Sanal çekirdekleri gözardı ederek fiziksel çekirdeklere göre düzenleyin.

    O işlemcide 4 fiziksel çekirdek var 2x4 = 8

    Verdiğim şekilde ekleyin direk.
  • 24-07-2015, 02:44:27
    #8
    mysql
    Client API version 5.1.73

    mevcut my.cnf
    Alıntı
    [mysqld]
    local-infile=0
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0


    skip-locking # serverda sadece 1 MySQL varsa
    skip-name-resolve
    max_connections = 2000 # cok yogun sitelerde bu deger arttirilabilir (500)
    thread_cache_size = 128
    key_buffer = 1024M # 256
    query_cache_type = 1
    query_cache_size = 128M # 64
    query_cache_limit = 8M # 4
    table_cache = 2000 # cok fazla tablolu veritabanlarinda bu deger arttirilabilir
    low_priority_updates = 1
    ### innodb varsa asagidaki ayarlari aciniz
    innodb_buffer_pool_size=4096M #Innodb kullanimi cok ise 384M, 1024M e kadar arttirilabilir
    innodb_additional_mem_pool_size=96M
    innodb_thread_concurrency=8
    innodb_flush_method=O_DIRECT



    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
  • 24-07-2015, 02:45:46
    #9
    RoyalTANITIM adlı üyeden alıntı: mesajı görüntüle
    139 diyor sadece
    Evet birden fazla, öyle de olmalı. Bir anormallik gözükmüyor. Idle durumundaki CPU değerlerinde değişliklik görmek istiyorsanız, daha fazla query çalıştırmanız gerekiyor.

    yum install sysstat

    mpstat -I CPU 1 10

    izleyin, ne demek istediğimi anlayacaksınız.