The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Как оптимизировать MySQL, !*! Viktor.G, 27-Апр-10, 13:11  [смотреть все]
Здравствуйте !
Обращаюсь к Вам так как являюсь новичком в этой области.
Прошу подсказать что необходимо сделать для того что бы оптимизировать работу MySQL.

Имеется следующая конфигурация сервера:

Motherboard:
Supermicro 6016T-NTF, Supermicro X8DTU-F.

CPU:
2 x CPU Intel Xeon E5520.

Memory:
6 x 4GB 1066MHz DDR3 ECC Reg w/Parity DIMM Dual Rank.

SAS RAID:
Adaptec RAID 5405.

HDD:
2 x 500 Gb WD Raid Edition SATA WD5002ABYS,
2 x 300 Gb Hitachi UltraStar 15K300 15000rpm SAS HUS153030VLS300.

С данной БД работает сайт, который находится на другом сервере,
т.е. нагрузку не создает, он лишь обращается сюда с запросами к базе.
Так вот, сайт сильно тормозит на тяжелых запросах.

Вроде бы конфигурация сервера нехилая, и тормозов быть не должно,
если у вас будут какие-либо предложения буду вам очень признателен
далее привожу конфигурацию my.cnf:

[client]  
    port = 3306
    socket = /tmp/mysql.sock

[mysqld]  
    port = 3306
    socket = /tmp/mysql.sock
    skip-locking
    key_buffer_size = 384M
    join_buffer_size = 1M
    table_open_cache = 512
    sort_buffer_size = 2M
    read_buffer_size = 2M
    read_rnd_buffer_size = 8M    
    myisam_sort_buffer_size = 64M
    thread_cache_size = 8
    thread_concurrency = 16
    query_cache_size = 64M
    query_cache_limit = 4M  
    net_buffer_length = 16K  
    max_allowed_packet = 16M  
    skip-federated  
    tmp_table_size = 128M  
    max_heap_table_size = 128M
    slow_query_log=1
    slow_query_log_file=slow_queries.log
    long_query_time=1.5
    log-bin=mysql-bin  
    binlog_format=mixed
    sync_binlog=1  
    expire_logs_days = 2  
    server-id = 300  
    replicate-do-db = some_table
    replicate-do-db = other_table
    relay-log=mysql-relay-bin
    log-slave-updates=1
    tmpdir = /tmp/
        innodb_data_home_dir = /var/db/mysql/
        innodb_data_file_path = ibdata1:32M:autoextend:max:32G
        innodb_log_group_home_dir = /var/db/mysql/
        innodb_buffer_pool_size = 4G
        innodb_additional_mem_pool_size = 20M
        innodb_log_file_size = 512M
        innodb_log_buffer_size = 8M
        innodb_flush_log_at_trx_commit = 1
        innodb_lock_wait_timeout = 50

[mysqldump]
    quick
    max_allowed_packet = 16M

[mysql]
    no-auto-rehash

[myisamchk]
    key_buffer_size = 256M
    sort_buffer_size = 256M
    read_buffer = 4M
    write_buffer = 4M

[mysqlhotcopy]
    interactive-timeout


P.S Многочасовые ковыряния интернета мало чем помогли мне в этом вопросе, поэтому хотелось бы выслушать мнение знающих людей.

Спасибо за Ваше время.

  • Как оптимизировать MySQL, !*! Michael, 13:58 , 27-Апр-10 (1)

    >P.S Многочасовые ковыряния интернета мало чем помогли мне в этом вопросе, поэтому
    >хотелось бы выслушать мнение знающих людей.
    >

    RTFM: High Performance MySQL, MySQL performance blog

    • Как оптимизировать MySQL, !*! Viktor.G, 14:58 , 27-Апр-10 (2)
      >
      >RTFM: High Performance MySQL, MySQL performance blog

      Спасибо за информацию. Но мне бы еще хотелось выслушать мнение по поводу существующей конфигурации.

      • Как оптимизировать MySQL, !*! malyshkov, 14:59 , 27-Апр-10 (3)
        >>
        >>RTFM: High Performance MySQL, MySQL performance blog
        >
        >Спасибо за информацию. Но мне бы еще хотелось выслушать мнение по поводу
        >существующей конфигурации.

        спасибо, интересно было почитать. Думаю у себя тоже оптимизирую

      • Как оптимизировать MySQL, !*! Michael, 15:08 , 27-Апр-10 (4)
        >>
        >>RTFM: High Performance MySQL, MySQL performance blog
        >
        >Спасибо за информацию. Но мне бы еще хотелось выслушать мнение по поводу
        >существующей конфигурации.

        одной конфигурации недостаточно, чтобы дать конкретные рекомендации.
        начните с лога медленных запросов и оптимизируйте их

  • Как оптимизировать MySQL, !*! lamonymous, 07:39 , 28-Апр-10 (5)
    >Здравствуйте !
    >Обращаюсь к Вам так как являюсь новичком в этой области.
    >Прошу подсказать что необходимо сделать для того что бы оптимизировать работу MySQL.

    Возможно, что скажу банальность, но скрипты tuning-primer.sh и mysqltuner.pl уже запускали?
    Перенастроить my.cnf по их рекомендациям+желательно сервер mysql на тот же сервак где сайт перенести и отключить его работу через tcp (параметр skip-networking вроде)

    • Как оптимизировать MySQL, !*! lamonymous, 07:40 , 28-Апр-10 (6)
      >>Здравствуйте !
      >>Обращаюсь к Вам так как являюсь новичком в этой области.
      >>Прошу подсказать что необходимо сделать для того что бы оптимизировать работу MySQL.
      >
      >Возможно, что скажу банальность, но скрипты tuning-primer.sh и mysqltuner.pl уже запускали?
      >Перенастроить my.cnf по их рекомендациям+желательно сервер mysql на тот же сервак где
      >сайт перенести и отключить его работу через tcp (параметр skip-networking вроде)

      Ошибся, skip-network оказывается


    • Как оптимизировать MySQL, !*! GD, 14:21 , 29-Апр-10 (7)
      >>Здравствуйте !
      >>Обращаюсь к Вам так как являюсь новичком в этой области.
      >>Прошу подсказать что необходимо сделать для того что бы оптимизировать работу MySQL.
      >
      >желательно сервер mysql на тот же сервак где
      >сайт перенести и отключить его работу через tcp (параметр skip-networking вроде)
      >

      странное утверждение
      у вас бесконечный процессор, рама вместо дисков и 10МБитная сетевая?
      в зависимости от того, во что упираемся и надо лечить

      топикстартеру:
      тяжелые запросы - это какие? которые выдают результат размером 5Гб? или результат маленький а считать его тяжело?

      • Как оптимизировать MySQL, !*! Антон, 01:32 , 10-Май-10 (8)
        >топикстартеру:
        >тяжелые запросы - это какие? которые выдают результат размером 5Гб? или результат
        >маленький а считать его тяжело?

        Тяжелые запросы - это запросы, которые затрагивают много строк (поик по индексу из 500к строк, скажем).

        • Как оптимизировать MySQL, !*! GD, 00:31 , 12-Май-10 (9)
          >>топикстартеру:
          >>тяжелые запросы - это какие? которые выдают результат размером 5Гб? или результат
          >>маленький а считать его тяжело?
          >
          >Тяжелые запросы - это запросы, которые затрагивают много строк (поик по индексу
          >из 500к строк, скажем).

          я спрашивал про "размер" результата выборки и про сложность запроса
          а вы мне рассказываете про размер таблиц

          посмотрите вышеупомянутые скрипты-рекомендаторы
          общую картину они вам подскажут




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру