• 10-04-2016, 22:26:47
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhabalar arkadaşlar.

    Konuyu doğru yere mi açtım bilmiyorum. Ancak sunucuyla ilgili yardımlarınıza ihtiyacım var.

    Dedike sunucumda cronjopla çalışan sitelerim var. Cronjop 3dk. da bir çalışıyor ve Wordpress'de post insert işlemi yapıyor. Sorun şu ki post insert işlemi yapılırken siteye giriş istekleri en az 3 sn bekletiliyor ve Load tavan yapıyor. Cronjop çalıştırmadan (Insert işlemi yapılmadan) ise siteler gayet hızlı ve stabil çalışıyor. Tablo boyutları biraz fazla yaklaşık 5 GB her bir site için. Tablo yapısı olarak Innodb kullanmaktayım. Wordpress tarafında tüm optimizasyonları yaptım diyebilirim ancak bu konuya çözüm bulamıyorum. Insert işlemi sırasında kitlenen tablolar okuma isteklerini 3.4 saniye (sabit) bekletiyor.

    Bu konudaki çözüm önerilerini bekliyorum. Insert işlemi sırasında sitelerin hızlı çalışması için my.cnf tarafında neler yapılabilir? Yardımlarınız için şimdiden teşekkürler. Sunucu özelliklerini ve my.cnf dosyasını aşağıya yazıyorum.

    Sunucu: Intel Xeon E3-1240 - 16GB Ram - 1 TB Sata - Cpanel + Litespeed

    symbolic-links=0
    #skip-name-resolve
    innodb_file_per_table
    innodb_buffer_pool_size = 8G
    innodb_log_file_size = 50M
    innodb_log_buffer_size = 256M
    innodb_flush_log_at_trx_commit = 2
    max_allowed_packet=268435456
    thread_stack=256K
    max_connect_errors=100000000
    max_connections=600
    key_buffer=128M
    sort_buffer_size=512K
    read_buffer_size=512K
    read_rnd_buffer_size=512K
    thread_cache_size = 8
    tmp_table_size=256M
    thread_concurrency = 8
    max_heap_table_size=128M
    query_cache_size = 209715200
    query_cache_limit = 52428800
    join_buffer_size=4M
    table_open_cache=2400
    low_priority_updates=1
    tmpdir = "/var/tmp"
    query_cache_type = 1
    innodb_additional_mem_pool_size=512K
    innodb_thread_concurrency=8
    open_files_limit=50000
    innodb_flush_method=O_DIRECT
    query_cache_size = 6G
    key_buffer_size = 284M
    innodb_read_io_threads = 8
    innodb_write_io_threads = 4
  • 10-04-2016, 22:58:47
    #2
    sizin de dediğiniz gibi mysql insert işlemi sırasında tabloyu düzen altında tutmak için lock altına alır. verdiğiniz veritabanı boyutu çok önemli değil ama sunucu özelliklerini düşündüğümde her defasında 50-100 arasında kayıt girildiğini tahmin ediyorum. çözümünüz : transaction
  • 10-04-2016, 23:22:51
    #3
    foo adlı üyeden alıntı: mesajı görüntüle
    sizin de dediğiniz gibi mysql insert işlemi sırasında tabloyu düzen altında tutmak için lock altına alır. verdiğiniz veritabanı boyutu çok önemli değil ama sunucu özelliklerini düşündüğümde her defasında 50-100 arasında kayıt girildiğini tahmin ediyorum. çözümünüz : transaction
    Merhabalar hocam teşekkürler cevabınız için. Transaction araştıracağım bu konuda sizin tavsiye ettiğiniz bir kaynak varmı veya kısaca nasıl yapılacağı ile ilgili bilgi vermeniz mümkün mü? R10+ verdim bu arada
  • 10-04-2016, 23:40:39
    #4
    @GlobalHosting;
  • 10-04-2016, 23:49:20
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @GlobalHosting;
  • 11-04-2016, 01:11:01
    #6
    Merhabalar,

    Mysql tıkandığında disk yazma/okuma hızını test ettiniz mi ? Eğer etmediyseniz bunu gözden kaçırmayınız. SATA disk yapınızı SSD veya Raid yapılı Sas disk ile değiştirmelisiniz.
  • 11-04-2016, 10:32:00
    #7
    MuminYazar adlı üyeden alıntı: mesajı görüntüle
    Merhabalar hocam teşekkürler cevabınız için. Transaction araştıracağım bu konuda sizin tavsiye ettiğiniz bir kaynak varmı veya kısaca nasıl yapılacağı ile ilgili bilgi vermeniz mümkün mü? R10+ verdim bu arada
    çok basit açıklamasıyla transaction; sorgularınızı tek tek değil, grup halinde sunucuya işlemenizi sağlar diyebiliriz. rolback gibi özellikleri de var ama senin için önemli olan kısmından bahsettim sadece.

    mesela 100 kadar insert sorgunuz varsa, standart olarak bir döngü eşliğinde 100 kayıt tek tek veritabanına işlenir. ancak transaction başlatır ve sorgularınızı çalıştırdığınızda 100 kaydı ön belleğe alır ve siz commit ettiğinizde hepsini birden yazar.

    https://secure.php.net/manual/tr/mys...ransaction.php

    https://www.html5andbeyond.com/using...-code-example/
  • 13-04-2016, 15:32:37
    #8
    foo adlı üyeden alıntı: mesajı görüntüle
    çok basit açıklamasıyla transaction; sorgularınızı tek tek değil, grup halinde sunucuya işlemenizi sağlar diyebiliriz. rolback gibi özellikleri de var ama senin için önemli olan kısmından bahsettim sadece.

    mesela 100 kadar insert sorgunuz varsa, standart olarak bir döngü eşliğinde 100 kayıt tek tek veritabanına işlenir. ancak transaction başlatır ve sorgularınızı çalıştırdığınızda 100 kaydı ön belleğe alır ve siz commit ettiğinizde hepsini birden yazar.

    https://secure.php.net/manual/tr/mys...ransaction.php

    https://www.html5andbeyond.com/using...-code-example/
    Açıklama için teşekkür ederim hocam. İşime yarayacak gibi ama bu işlemin wordpress post insertte nasıl uygulanacağını bilemiyorum. Sizin bilginiz varsa aydınlatabilirmisiniz? Teşekkür ederim ilgilenen herkese