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

Технические вопросы по UTM 5.0
gtk
Сообщения: 232
Зарегистрирован: Пт янв 21, 2005 18:33

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

Сообщение gtk »

Подскажите пожалуйста, конфигурацию для сервера на котором будет крутится ядро + mysql.

Что лучше ставить? freebsd 8.2 или 7.4 ? И какую платформу freebsd лучше i386 или amd64 ?


Планирую ксеон 56 серии и около 10-12 гиг памяти, поставить. Именно для более шустрой работы базы с большими таблицами.

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

Сообщение gravis »

сколько за месяц в базу данных прибывает?

gtk
Сообщения: 232
Зарегистрирован: Пт янв 21, 2005 18:33

Сообщение gtk »

gravis писал(а):сколько за месяц в базу данных прибывает?

600-700мб

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

Сообщение gravis »

при использовании архивирования таблиц, памяти фактически нужно на текущий и прошлый месяц (для отчетов бухгалтерии и абонентского отдела) так что ваши 10-12 гиг выглядят несколько излишними
но как показывает практика, хуже от этого не будет :D

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

Сообщение Morbid »

Ну вот у меня сейчас за декабрь месяц, в базе прибавилось 3 гига... (именно в базе, в исходниках деталки там 300 гигов) то есть скажем 8 гигов должно хватить для работы?

Что-то как то не вяжется ((( потому что при формирование отчетов.. машина впадает в ступор и админка не работает.

сейчас стоит ксеон 2.8 (4 ядра) и 4 гига

Думаю грейдить до 2 ксеонов с 4 ядрами и как миниму 16 гигами оперативы, а вообще мелькают мысли до 24-32 гигов поднять...

З.Ы. Вопрос только имеет ли смысл увеличивать проццы? или достаточно увеличить память?
клиентов 3.5к и потихоньку растем.

gtk
Сообщения: 232
Зарегистрирован: Пт янв 21, 2005 18:33

Сообщение gtk »

Очень туманные ответы.... 7.4 или 8.2 adm64 или I386 ?

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

Сообщение dk »

У меня на Q6600/4Gb деталки за месяц набегает под 700 гигов и более чем хватает, правда родной личный кабинет отключен.

По теме -- утм5 вроде как с 64 битами не дружит и не планируется. Если сервер один, на линуксе биллинг легко установить на 64-битную систему через linux32, про фрю не подскажу.

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

Сообщение JAO »

Morbid, не могли бы Вы показать, что у вас в my.cnf есть? (если у Вас, конечно, MySQL)

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

Сообщение Morbid »

Если покажете\подскажете что подправить буду глубоко признателен.

Конфиг в целом стандартный.

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

#
# 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

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/english
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 0.0.0.0
#
# * Fine Tuning
#
key_buffer              = 64M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
#
# Here you can see queries with especially long duration
slow_query_log  = /var/log/mysql/mysql-slow.log
long_query_time = 30
log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id              = 1
log_bin                 = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size         = 100M
binlog_do_db            = include_database_name
#binlog_ignore_db       = include_database_name
#

# * InnoDB
######################################
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet      = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
#innodb_buffer_pool_size = 2G
#innodb_log_file_size   = 256M
#innodb_log_buffer_size = 4M
#innodb_file_per_table  = 1
######################################

[isamchk]
key_buffer              = 16M

#
# * 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/

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

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

Сообщение Magnum72 »

gtk писал(а):Подскажите пожалуйста, конфигурацию для сервера на котором будет крутится ядро + mysql.

Что лучше ставить? freebsd 8.2 или 7.4 ? И какую платформу freebsd лучше i386 или amd64 ?


Планирую ксеон 56 серии и около 10-12 гиг памяти, поставить. Именно для более шустрой работы базы с большими таблицами.
В биллинге самое главное выдать мускулу побольше оперативки, у меня сейчас 16 гиг, через месяц переезжаю на блейд там будет в лезвии до 64 гиг, а ядро много не просит, побольше ядер и памяти 4 гига.

gtk
Сообщения: 232
Зарегистрирован: Пт янв 21, 2005 18:33

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

Сообщение gtk »

Magnum72 писал(а):
gtk писал(а):Подскажите пожалуйста, конфигурацию для сервера на котором будет крутится ядро + mysql.

Что лучше ставить? freebsd 8.2 или 7.4 ? И какую платформу freebsd лучше i386 или amd64 ?


Планирую ксеон 56 серии и около 10-12 гиг памяти, поставить. Именно для более шустрой работы базы с большими таблицами.
В биллинге самое главное выдать мускулу побольше оперативки, у меня сейчас 16 гиг, через месяц переезжаю на блейд там будет в лезвии до 64 гиг, а ядро много не просит, побольше ядер и памяти 4 гига.

Я так понимаю, что лучше разнести. ядро и базу.

Ядро на i386, базу на amd64 и гигов 16

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

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

Сообщение Magnum72 »

gtk писал(а): Я так понимаю, что лучше разнести. ядро и базу.
Ядро на i386, базу на amd64 и гигов 16
Как раз не принципиально, ядру биллинга нужны ядра, мускулу память, они друг другу не мешают. У меня вообще на сервере стоит ядро биллинга, мускул и в этом мускуле кроме биллинга базы кактуса, астерикса, внутренней системы CRM, траблшутинга, п2п, хостинг, личного кабинета, сислогов, архивы биллинга, вообщем порядка 20 баз различных. Все это добро зеркалируется на ведомый сервер мускула и уже с него ежедневно бекапится, также на этом серваке радиус и rfw.

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

Сообщение gravis »

Morbid, с таким конфигом хоть терр памяти поставьте, толку не будет. Посмотрите конфиги, которые идут вместе с мускл-ом, там есть примеры под большой объем памяти. Либо почитайте рекомендации по настройке MySQL.

InnoDB вообще у вас не настроено, все по-дефолту!

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

Сообщение JAO »

Morbid, если у Вас база UTM в InnoDB, то с таким конфигом Вы далеко не уедете. Удивительно, что оно вообще работает.

Вот что у меня:

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

innodb_log_files_in_group=3
innodb_log_file_size=192M
innodb_buffer_pool_size=1024M
innodb_additional_mem_pool_size=64M
innodb_thread_concurrency=8
innodb_file_per_table=1
Это выдержка из my.cnf, секция mysqld.

innodb_thread_concurrency задано для четырех ядер. Вообще это число ядер, помноженное на два. innodb_file_per_table говорит движку хранить каждую таблицу в отдельном файле, а не все таблицы в одном файле, как по умолчанию.

Но, прежде чем запускать MySQL с этими параметрами, нужно:

1. остановить биллинг
2. остановить MySQL
3. сделать полную копию каталога данных MySQL и файла my.cnf
4. запустить MySQL
5. снять дамп базы UTM
6. снять дампы остальных баз, хранящих данные в InnoDB (если они есть)
7. затереть базу UTM (DROP DATABASE)
8. затереть остальные базы, использующие InnoDB (если есть)
9. остановить MySQL
10. потереть файлы ib_logfile*, ibdata* в каталоге данных MySQL

И далее:

11. внести изменения в my.cnf
12. запустить MySQL (он пересоздаст хранилище InnoDB с новыми параметрами)
13. создать базу UTM (CREATE DATABASE ... CHARACTER SET, character set каждой базы можно посмотреть в файле db.opt перед шагами 7 и 8, потом его задать при создании)
14. залить базу из дампа
15. выполнить шаги 13 и 14 для остальных баз InnoDB
16. запустить биллинг

Простое изменение параметров приведет к отказу запуска MySQL из-за несоответствия хранилища InnoDB параметрам, заданным в конфиге.

Очень важно сделать бэкап всего каталога данных MySQL (шаг 3), предварительно его остановив. Если что-то пойдет не так, будет к чему откатиться. Откат делается опять-таки при остановленном MySQL стиранием рабочего каталога данных и возвращением сохраненной копии на его место. Также нужно вернуть старый my.cnf на место. Я так делал. На рабочем биллинге без бэкапа к таким операциям лучше вообще не приступать.

Кстати, у меня биллинг крутится на похожей по конфигурации машинке, 4 гига памяти, 4 ядра (Core Quad). Народу под две тысячи, Netflow поток под мегабит, не тормозит. Все месячные отчеты в пределах десяти-двадцати секунд, да и то только к концу месяца, когда таблички вырастают. Первого числа предыдущий месяц уходит в архив, текущие таблички сбрасывают вес, и всё работает очень весело.

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

Сообщение Morbid »

Большое спасибо, за подробную инструкцию и консультацию. Буду копать и делать.

Ответить