Tips and Tricks. Mysql битрикс


Настройка MySQL 5.7 на Ubuntu 16.04 под Bitrix

В MySQL 5.7 по-умолчанию включен innodb_file_per_table=1 и с ним вы нормальных «попугаев» по базе данных не получите

Поэтому первым делом делаем дамп базы, выключаем это в /etc/mysql/my.cnf и заливаем обратно

Ниже приведен конфиг на котором только что поставленный битрикс на core i5 выдает под 100 попугаев

root@ubuntu:~# cat /etc/mysql/my.cnf## The MySQL database server configuration file.## You can copy this to one of:# - "/etc/mysql/my.cnf" to set global options,# - "~/.my.cnf" to set user-specific options.## One can use all long options that the program supports.# Run program with --help to get a list of available options and with# --print-defaults to see which it would actually understand and use.## For explanations see# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

## * IMPORTANT: Additional settings that can override those from this file!# The files must end with '.cnf', otherwise they'll be ignored.#

!includedir /etc/mysql/conf.d/!includedir /etc/mysql/mysql.conf.d/

[mysqld]sql_mode = ""performance-schema = falsetable_open_cache = 1024thread_cache_size = 4query_cache_size = 32Mquery_cache_type = 1tmp_table_size = 128Mmax_heap_table_size = 128Minnodb_file_per_table = 0innodb_buffer_pool_size = 1024Minnodb_flush_log_at_trx_commit = 2innodb_buffer_pool_instances = 2innodb_flush_method = O_DIRECTtransaction-isolation = READ-COMMITTED

Больше там практически ничего не надо крутить что бы ни говорили различные тюнеры — приведет только к потери производительности, можно только увеличивать innodb_buffer_pool_size если база большая и памяти свободной много

Также требуется увеличить лимиты на число открытых файлов (иначе table_open_cache может просто не отрабатывать)

mkdir /etc/systemd/system/mysql.service.d/printf '[Service]\nLimitNOFILE = infinity\nLimitMEMLOCK = infinity\n' >> /etc/systemd/system/mysql.service.d/limits.conf

И перезапустить mysqlsystemctl daemon-reloadsystemctl restart mysql

Также в рекомендую менять толькоinnodb_buffer_pool_size — для InnoDBkey_buffer_size — для MyISAMЧтобы база входила в оперативную память, но при этом значение это должно быть меньше чем всего ram на сервереНастройки всего остального в MySQL часто приносят прямо противоположный результат

blog.ispsystem.info

Настройка параметров mysql для битрикс

Производительность базы данных - одна из наиболее важных составных частей общей производительности проекта на 1С-Битрикс. С помощью настройки параметров базы данных можно иногда получить немалый прирост скорости загрузки страниц сайта, которая, как показывает практика, очень сильно влияет на общее впечатление о сайте и его конверсию. Многие посетители вообще не дожидаются загрузки страницы, если она грузится слишком долго, и раньше закрывают вкладку браузера или возвращаются на предыдущую страницу. Установка типа таблиц

Для начала необходимо убедиться, что таблицы mysql имеют тип InnoDB, а не MyISAM. Для этого можно перейти в административной панели битрикс на страницу Настройки > Инструменты > SQL запрос и ввести команду SHOW TABLE STATUS (тип таблиц будет отображаться во втором столбце):

Если таблицы имеют тип MyISAM, то их можно сконвертировать в InnoDB либо при помощи команды ALTER TABLE <ИМЯ ТАБЛИЦЫ>, type=InnoDB, либо перейти Настройки > Производительность > Таблицы, выбрать внизу страницы "Для всех", и выбрать в выпадающем списке "Преобразовать в InnoDB":

Как устанавливать параметры Mysql

Смотрим файл /etc/init.d/mysql и находим параметр CONF - в нем находится путь к файлу конфигурации mysql (обычно это /etc/mysql/my.cnf).

Собственно параметры mysql можно устанавливать не в любом месте файла my.cnf, а только после директивы [mysqld].

Чтобы параметры вступили в силу, нужно перезапустить сервер mysql. Сделать это можно при помощи команды /etc/init.d/mysql restart (Debian, Ubuntu) или /etc/init.d/mysqld restart (Fedora, Cent OS).

Посмотреть текущие параметры всегда можно при помощи команды mysqladmin variables -pPASSWORD, где PASSWORD - root пароль для mysql.

Наиболее важные параметры

Перечислю наиболее важные параметры, значения которых желательно установить

table_cache table_open_cache tmp_table_size max_heap_table_size transaction-isolation join_buffer_size

Параметры для типа таблиц InnoDB

innodb_buffer_pool_size innodb_additional_mem_pool_size innodb_file_io_threads innodb_lock_wait_timeout innodb_log_buffer_size innodb_flush_log_at_trx_commit innodb_flush_log_at_trx_commit innodb_flush_method

Параметры для типа таблиц MyISAM

key_buffer_size sort_buffer read_buffer_size

Какие значения данных параметров устанавливать - отчасти ответить на этот вопрос поможет также модуль "Монитор производительности" (Настройки > Производительность > Сервер БД), отчасти - эксперимент и опыт.

14.11.201316:2414.11.2013 16:24:29

g-rain-design.ru

Bitrix-D7: Класс MysqliConnection

Объявления и описания членов класса находятся в файле:

 getInsertedId ()
 
 getAffectedRowsCount ()
 Returns affected rows count from last executed query. Подробнее...
 
 getType ()
 Returns database type. Подробнее...
 
 getVersion ()
 Returns connected database version. Подробнее...
 
 selectDatabase ($database)
 Selects the default database for database queries. Подробнее...
 
 Открытые члены inherited from MysqlCommonConnection
 __construct (array $configuration)
 $configuration may contain following keys: Подробнее...
 
 isTableExists ($tableName)
 Checks if a table exists. Подробнее...
 
 isIndexExists ($tableName, array $columns)
 Checks if an index exists. Подробнее...
 
 getIndexName ($tableName, array $columns, $strict=false)
 Returns the name of an index. Подробнее...
 
 getTableFields ($tableName)
 Returns fields objects according to the columns of a table. Подробнее...
 
 createTable ($tableName, $fields, $primary=array(), $autoincrement=array())
 
 createIndex ($tableName, $indexName, $columnNames, $columnLengths=null)
 Creates index on column(s) . Подробнее...
 
 renameTable ($currentName, $newName)
 Renames the table. Подробнее...
 
 dropTable ($tableName)
 Drops the table. Подробнее...
 
 startTransaction ()
 Starts new database transaction. Подробнее...
 
 commitTransaction ()
 Commits started database transaction. Подробнее...
 
 rollbackTransaction ()
 Rollbacks started database transaction. Подробнее...
 
 setStorageEngine ()
 Sets default storage engine for all consequent CREATE TABLE statements and all other relevant DDL. Подробнее...
 
 selectDatabase ($database)
 Selects the default database for database queries. Подробнее...
 
 Открытые члены inherited from Connection
 __construct (array $configuration)
 
 connect ()
 Connects to data source. Подробнее...
 
 disconnect ()
 Disconects from data source. Подробнее...
 
 getResource ()
 Returns the resource of the connection. Подробнее...
 
 
isConnected ()
 Returns the state of the connection. Подробнее...
 
 getConfiguration ()
 Returns the array with the connection parameters. Подробнее...
 

budagov.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта