Конфигурация для ядра.

Технические вопросы по UTM 5.0
JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

После такой настройки и запуска архивации Вам надолго хватит того, что есть. Наблюдайте просто за размером таблиц discount_transactions_all, discount_transactions_iptraffic_all, как самых толстых, на сколько они у Вас будут за месяц вырастать, и подкручивайте размер буфера innodb_buffer_pool_size так, чтобы по возможности туда влезала самая большая табличка, а innodb_additional_mem_pool_size так, чтобы сохранилось соотношение первоначальных цифр. Ломать хранилище после этого уже не нужно. Да, если после заливки дампа эти таблицы окажутся огромных размеров, не пытайтесь настроить на них буфер, сначала Вам нужно создать архив, чтобы в текущих таблицах остались данные только за текущий месяц, и после этого уже настраивать на них буфер, если нужно. Механизм архивации работает, начиная с версии 5.2.1-006. Если у Вас версия ниже этой - обновляйтесь.

xxxupg
Сообщения: 457
Зарегистрирован: Вс май 02, 2010 10:00

Сообщение xxxupg »

Уважаемые, чтобы не создавать новых веток... помогите оптимизировать работу SQL сервера конфиг ниже...
в конце месяца SQL не справляется и всё начинает висеть...
думаю добавить innodb_file_per_table=1
кто может помочь советом с этим конфигом?

Конфигурация системы: 2 ксенона 5345 (по 2,33) 8 ядер, 16Гб оперативки.

Код: Выделить всё

[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306


basedir="x:/MySQL/MySQL Server 5.1/"
datadir="x:/Data/"

default-character-set=utf8
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=900
query_cache_size=350M
table_cache=619
tmp_table_size=369M
thread_cache_size=8

myisam_max_sort_file_size=100G
myisam_sort_buffer_size=738M
key_buffer_size=641M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K

innodb_additional_mem_pool_size=32M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=13M
innodb_buffer_pool_size=12G
innodb_log_file_size=622M
innodb_thread_concurrency=18

dk
Сообщения: 424
Зарегистрирован: Чт авг 10, 2006 08:52

Сообщение dk »

innodb_file_per_table однозначно (ну и innodb_data_file_path)
max_connections куда столько?
innodb_thread_concurrency великовато, + со большими значениями была бага, сильно тормозящая сервер, версия mysql обновлённая?
innodb_additional_mem_pool_size лучше посмотреть в статусе innodb

В остальном криминала вроде не заметно, разве что innodb_buffer_pool_size великовато, если биллинг на той же машинке крутится. Свопить не начинает?

Upd: Обратил внимание, система -- винда? По поводу производительности биллинга на ней вроде выражались, да и mysql на ней значительно (не в разы, но всё же) тормознее.

xxxupg
Сообщения: 457
Зарегистрирован: Вс май 02, 2010 10:00

Сообщение xxxupg »

dk писал(а):innodb_file_per_table однозначно (ну и innodb_data_file_path)
max_connections куда столько?
innodb_thread_concurrency великовато, + со большими значениями была бага, сильно тормозящая сервер, версия mysql обновлённая?
innodb_additional_mem_pool_size лучше посмотреть в статусе innodb

В остальном криминала вроде не заметно, разве что innodb_buffer_pool_size великовато, если биллинг на той же машинке крутится. Свопить не начинает?

Upd: Обратил внимание, система -- винда? По поводу производительности биллинга на ней вроде выражались, да и mysql на ней значительно (не в разы, но всё же) тормознее.
innodb_data_file_path можно попобробнее что за весчь такая?

sql да на винде... я там просто его настраиваю, руководство хочет видеть именно её + они лицуху купили :))

dk писал(а): В остальном криминала вроде не заметно, разве что innodb_buffer_pool_size великовато, если биллинг на той же машинке крутится. Свопить не начинает?
а как это можно проверить в моём случае?

gravis
Сообщения: 562
Зарегистрирован: Ср мар 16, 2005 15:31
Откуда: Село Красноярск

Сообщение gravis »

xxxupg, в целом все верно, начать следует с innodb_file_per_table
инструкцию как перевести базу на эту фичу выше написал JAO
innodb_data_file_path это настройка хранилища InnoDB без использования innodb_file_per_table. Там следует указать минимальный размер, как в дефолтном конфиге 10M:autoextend. Не уверен можно ли эту опцию совсем убрать или нет.

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

ibdata* совсем не убрать, поскольку для каких-то своих целей MySQL это хранилище использует, даже с опцией innodb_file_per_table. У меня оно весит гиг с небольшим стабильно на протяжении многих месяцев.

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

Morbid
Сообщения: 104
Зарегистрирован: Пт окт 02, 2009 15:00
Откуда: МО

Сообщение Morbid »

Еще раз сенкс то JAO, база реально стала работать быстрей.

WebTelecom
Сообщения: 29
Зарегистрирован: Пн янв 02, 2012 13:47

Сообщение WebTelecom »

подскажите оптимально ли я настроил sql на сервере (по вашему мнению)
утм и sql на одной машине: xeon 5602 x2 (16 ядер), 16Гб оперативной памяти.
sql 5.1
utm 007

Код: Выделить всё

[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=xxx
datadir=xxx
default-character-set=utf8
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=700
query_cache_size=0
table_cache=1024
tmp_table_size=400M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=800M
key_buffer_size=700M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_additional_mem_pool_size=64M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=24M
innodb_buffer_pool_size=12G
innodb_log_file_size=1G
innodb_thread_concurrency=34
innodb_file_per_table=1
ткните где что не верно, иногда появляются тормоза и утм медленно вливает всё в базу, загрузка ЦП на sql растёт в этот момент.

и еще вопрос, как узнать в каком формате у меня базы? inno или нет?

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

Если в каталоге базы есть файлы .ibd, значит InnoDB.

Сколько памяти ест mysqld в момент тормозов?

WebTelecom
Сообщения: 29
Зарегистрирован: Пн янв 02, 2012 13:47

Сообщение WebTelecom »

файлы 2х типов:
account_invoice.frm
и
account_invoice.ibd


в частности mysql занимает в памяти 2 306 434КБ, загрузка ЦП по этому процессу не поднимается более 7% (правда когда делаю бэкапы или наоборот заливаю из бэкапа... становится и 14 984 000 КБ)...

в момент "тормозов", а иногда полного зависания админки, УТМкор начинает разрастаться в памяти, а потом резко например с 784 300КБ падает до 64 344КБ...

что можно еще отоптимизировать? или нужно разносить на разные машины?

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

Значит InnoDB таблицы.

Надо поймать эти самые тормоза, и посмотреть в MySQL, какие запросы выполняются в этот момент. Есть в MySQL команда (или запрос) SHOW FULL PROCESSLIST.

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

WebTelecom
Сообщения: 29
Зарегистрирован: Пн янв 02, 2012 13:47

Сообщение WebTelecom »

много
| 433 | root | localhost:51620 | utm5 | Sleep | 1435 | | NULL
| 420 | root | localhost:51607 | utm5 | Sleep | 2693 | | NULL
а так в основном:
| 368 | root | localhost:51478 | utm5 | Query | 0 | Updating | UPDATE downloaded SET qnt='1880334575', discounted='0', downed_as_prepaid='0' WHERE downloaded_id='4 |
| 369 | root | localhost:51479 | utm5 | Query | 0 | Sending data | SELECT discounted,qnt,downed_as_prepaid FROM downloaded WHERE is_deleted=0 AND downloaded_id='5479' |
| 373 | root | localhost:51483 | utm5 | Query | 0 | Sending data | SELECT discounted,qnt,downed_as_prepaid FROM downloaded WHERE is_deleted=0 AND downloaded_id='5802' |
| 369 | root | localhost:51479 | utm5 | Query | 0 | Sending data | SELECT discounted,qnt,downed_as_prepaid FROM downloaded WHERE is_deleted=0 AND downloaded_id='5479' |
| 354 | root | localhost:51464 | utm5 | Query | 0 | Sending data | SELECT discounted,qnt,downed_as_prepaid FROM downloaded WHERE is_deleted=0 AND downloaded_id='3715' |
| 358 | root | localhost:51468 | utm5 | Query | 0 | Sending data | SELECT discounted,qnt,downed_as_prepaid FROM downloaded WHERE is_deleted=0 AND downloaded_id='3392' |
| 367 | root | localhost:51477 | utm5 | Query | 0 | Updating | UPDATE downloaded SET qnt='552288735', discounted='0', downed_as_prepaid='0' WHERE downloaded_id='44 |
| 359 | root | localhost:51469 | utm5 | Query | 0 | Sending data | SELECT discounted,qnt,downed_as_prepaid FROM downloaded WHERE is_deleted=0 AND downloaded_id='2842' |
| 352 | root | localhost:51462 | utm5 | Query | 0 | Updating | UPDATE downloaded SET qnt='40062349', discounted='0', downed_as_prepaid='0' WHERE downloaded_id='460 |
| 360 | root | localhost:51470 | utm5 | Query | 0 | Updating | UPDATE downloaded SET qnt='1687653539', discounted='0', downed_as_prepaid='0' WHERE downloaded_id='4 |
каждая строчка была вырезана из нового обновления SHOW FULL PROCESSLIST

WebTelecom
Сообщения: 29
Зарегистрирован: Пн янв 02, 2012 13:47

Сообщение WebTelecom »

up?

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

Каков размер таблицы downloaded?

WebTelecom
Сообщения: 29
Зарегистрирован: Пн янв 02, 2012 13:47

Сообщение WebTelecom »

Data Length = 2.52MB

Ответить