Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19

Тема: Настройка MySQL под битрикс

  1. #1
    Senior Member
    Регистрация
    16.01.2015
    Сообщений
    129

    По умолчанию Настройка MySQL под битрикс

    Есть сервер с конфигурацией
    Код:
    Процессор	Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz 3876.531 Mhz X 8
    Оперативная память	3179284 / 32876156 kB
    Размер дискового пространства	212975 Mb
    Файл подкачки (swap)	12574716 kB
    Средняя загрузка (1, 5, 15 мин)	1.06 0.57 0.40
    Продолжительность работы	5 days 21 hours 25 minutes
    Напрягают 2 параметра 1 работа почтового сервера - удалил стандартную, поставить postfix, стало 0.3 - все равно время медленее эталонного - но это фигня.

    А вот параметры базы напрягают очень дико.

    https://yadi.sk/i/ehcNsXyX33pxnn



    Вот настройки мускула

    Код:
    skip-name-resolve
    
    
    explicit_defaults_for_timestamp = 0
    sql_mode=
    transaction-isolation = READ-COMMITTED
    innodb_flush_method  = O_DIRECT
    innodb_file_format = Barracuda
    
    
    table_open_cache_instances = 2
    
    max_heap_table_size = 512M
    tmp_table_size = 512M
    
    innodb_buffer_pool_size=10G
    innodb_additional_mem_pool_size=32M 
    innodb_file_io_threads=8 
    innodb_read_io_threads = 8
    innodb_write_io_threads = 8
    innodb_lock_wait_timeout=50 
    innodb_log_buffer_size=32M 
    innodb_flush_log_at_trx_commit=2
    innodb_log_file_size=256M 
    
    
    innodb_file_per_table = 1 
    optimizer_search_depth = 0
    
    
    
    join_buffer_size = 4M
    key_buffer_size=16M 
    sort_buffer=8M 
    read_buffer_size=16M 
    
    query_cache_size=128M 
    query_cache_type=1
    query_cache_limit = 64M
    Кто что посоветует покрутить?

    PS: Пожалуйста не нужно читать лекцию про то что это все попугаи, писькомерство и т.п. если мы об этом спрашиваю, значит мне нужны эти цифры(как минимум для клиентов).

  2. #2
    Cool UNIX admin Аватар для ls
    Регистрация
    12.03.2007
    Сообщений
    10,471

    По умолчанию

    Относительно базы данных рекомендую отказаться от innodb_file_per_table = 1 (чтобы все хранилось в одном файле ibdata), правда придется сдампить базы, затем отключить, переименовать /var/lib/mysql и переинцииализировать и снова залить mysql базы

    Относительно почтовой системы разобраться что у вас настроено при отправке почты, возможно долго резолвится имя сервера если оправка по smtp, следовательно прописать записи в /etc/hosts к которым идет подключение или если медленный резровер настроить локальных bind и его прописать в /etc/resolv.conf

  3. #3

    По умолчанию

    Цитата Сообщение от ls Посмотреть сообщение
    Относительно базы данных рекомендую отказаться от innodb_file_per_table = 1 (чтобы все хранилось в одном файле ibdata), правда придется сдампить базы, затем отключить, переименовать /var/lib/mysql и переинцииализировать и снова залить mysql базы
    На сколько я помню дампить не обязательно, достаточно сделать для всех таблиц:
    Код:
    ALTER TABLE table_name ENGINE=InnoDB;
    ru-tld.ru - Выделенные сервера в Европе, США и Азии; Регистрация и продление доменов от 149 руб.; Реселлинг через BILLmanager

  4. #4
    Senior Member
    Регистрация
    16.01.2015
    Сообщений
    129

    По умолчанию

    Цитата Сообщение от ls Посмотреть сообщение
    Относительно базы данных рекомендую отказаться от innodb_file_per_table = 1 (чтобы все хранилось в одном файле ibdata), правда придется сдампить базы, затем отключить, переименовать /var/lib/mysql и переинцииализировать и снова залить mysql базы

    Относительно почтовой системы разобраться что у вас настроено при отправке почты, возможно долго резолвится имя сервера если оправка по smtp, следовательно прописать записи в /etc/hosts к которым идет подключение или если медленный резровер настроить локальных bind и его прописать в /etc/resolv.conf
    А почему отказаться? Просто я наборот читал что функция очень полезна, на серваке около 15 сайтов, у половины из них база около гига - не будет ли обратного эффекта?

  5. #5
    Cool UNIX admin Аватар для ls
    Регистрация
    12.03.2007
    Сообщений
    10,471

    По умолчанию

    Цитата Сообщение от M.Shpakov Посмотреть сообщение
    На сколько я помню дампить не обязательно, достаточно сделать для всех таблиц:
    Код:
    ALTER TABLE table_name ENGINE=InnoDB;
    это если переконвертировать myisam в innodb, а если уже innodb каждая таблица в своем файле, то придется пересоздать, иначе-то как, я так делал.
    Зато у innodb_file_per_table достоинства что при удалении баз данных (если на сервере не один-два сайта на битриксе) высвобождается место (а не многогигабатный ibdata файл который растет), да и повреждается в случае внезапных падений mysql/ребутах такая база значительно намного реже или пострадает одна табличка, а не перестает запускаться весь сервер

    Цитата Сообщение от NickSolver Посмотреть сообщение
    А почему отказаться? Просто я наборот читал что функция очень полезна, на серваке около 15 сайтов, у половины из них база около гига - не будет ли обратного эффекта?
    Если 15 сайтов с 15 базами - понятное дело не отказывайтесь. Преимуществ так как много https://dev.mysql.com/doc/refman/5.5...blespaces.html . Да и обычные CMS так сильно базу не грузят в отличие от битрикса
    Если у вас VPS с одним крупным сайтом на битриксе и парой баз (и не забываете про бэкапы) - то тогда можно получить чуть больше "попугаев" если есть необходимость и в первоначальном сообщении от меня был совет как получить больше цифирок в админке
    Последний раз редактировалось ls; 19.12.2016 в 04:36.

  6. #6
    Member
    Регистрация
    04.10.2016
    Сообщений
    42

    По умолчанию

    Глупый вопрос, но я вот не в курсе, где прописываются все эти значения из 1ого поста?

  7. #7
    Senior Member
    Регистрация
    09.04.2013
    Адрес
    Москва
    Сообщений
    2,052

    По умолчанию

    /etc/my.cnf
    НО я не рекомендую вот так тупо копипаст делать, нужно смотреть конкретные данные нагрузки, какие запросы, какие базы, наличие индексов и т.д.
    mysql такая штука, что при неправильных лимитах - будет медленно всё
    Те же индексы, если их 2 Мб, нет смысла выделять 10 Gb памяти, и так почти со всем параметрами
    Последний раз редактировалось Mobiaaa; 18.07.2017 в 21:32.

  8. #8
    Member
    Регистрация
    04.10.2016
    Сообщений
    42

    По умолчанию

    /etc/my.cnf
    а если у меня ISPmanager, может через него можно?

    Кеш запросов (размер) 0 Б Включите кеширование запросов (установить значение параметра query_cache_size больше или равным 8M, но не более 128M).
    Кеш потоков 0 Кеш потоков (thread_cache_size) отключен. В качестве начального значение установите значения этого параметра равным 4.
    Кеш открытых таблиц 0.05% Эффективность кеша открытых таблиц (Open_tables / Opened_tables). Если значение эффективности менее 20%, то требуется увеличить значение параметра table_open_cache (текущее значение: 64). Увеличивайте параметр постепенно чтобы избежать превышения лимитов на количество одновременно открытых файлов в операционной системе.

    Вот красным битрикс выделяет, а вообще проблема, сервер стал отвечать вместо 1-2 секунд по 10... ну вроде как узкое место БД стало... по каким причинам не ясно. Пробую пока БД ускорить

  9. #9
    Senior Member
    Регистрация
    09.04.2013
    Адрес
    Москва
    Сообщений
    2,052

    По умолчанию

    все эти параметры можно изменить, можно даже по совету битрикса именно с этих значений и начать

  10. #10
    Member
    Регистрация
    04.10.2016
    Сообщений
    42

    По умолчанию

    Цитата Сообщение от Mobiaaa Посмотреть сообщение
    все эти параметры можно изменить, можно даже по совету битрикса именно с этих значений и начать
    mail.jpg

    Вот как то я в ступоре, в этом файле нету параметров, которые мне нужно указать-исправить... повторюсь... Через ИСПменеджер, возможно править такие параметры БД?

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •