Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5   вперед  Ctrl      все
 Помогите с подбором процессора для сервера  [new]
Даниил
Member

Откуда: Челябинск
Сообщений: 1031
Что работает на данный момент:
Обычный компьютер i7 8 ядер 3.4ГГц / 16 Гб ОЗУ / БД на быстром SSD / Win7
БД (Firebird 2.5.5 classic) размером 55 Гб, 100-150 коннектов, 20-40 Мб памяти на коннект

Какие показатели при работе:
Занятая память: 5-8Гб
Обычная нагрузка процессоров (суммарная): 10-20%
Пиковая нагрузка процессоров (длится 3-4 часа в день непрерывно, примерно через 1 час после начала работы с БД при длительности рабочего дня 12 часов): 40-80% - это меня больше всего напрягает
Нагрузка на HDD и LAN - минимальная: HDD в пике 20 МБ/с, обычно 0-4 МБ/с; LAN в пике 40 МБит/с, обычно 2-10 МБит/с.
БД каждую ночь бэкапится\ресторится на старое место. Перед этим делается четырехкратная проверка (начиная с DDL, заканчивая данными) на восстановимость; рестор идет в другое место, и если все хорошо, то рабочая база заменяется и т.п. - в общем не суть. Т.е. в итоге: коннектов ночью к БД нет, с утра БД всегда без мусора. За рабочий день происходит около 300 тыс. транзакций.

В итоге видимое узкое место - это процессор.

Как это сказывается:
При пиковой нагрузке, когда около 60-80 операторов создают новые заявки (1 заявка - это INSERT по 20-100 записей в 5-10 таблиц огромного размера + привязанная в этому бизнес-логика на 15-20 триггеров и около 20-30 ХП, меняющих еще 10-15 таблиц) и эта заявка сохраняется (в толстом клиенте, но вся бизнес-логика выполняется на стороне сервера) до 5-7 секунд. Это много. Считаю нормой - максимум 2 секунды.
Кроме этого у пользователей есть достаточно сложные отчеты, которые могут формироваться до 1-2 минут.

Хотелось бы все это ускорить. Поскольку процессор на обычном бытовом компьютере апгредить уже нет смысла, то пора переходить на серверное железо (не исключая оптимизации DDL и запросов). С серверным железом практической работы не имел.
Поэтому прошу совета по следующим вопросам:
1) Даст ли ощутимый прирост производительности переход на процессоры Xeon Gen9 или Gen10 Silver c 16 ядрами но частотой 2.1-2.4ГГц (вместо i7 8 ядер 3.4ГГц) или же требуется увеличить кол-во ядер при сохранении примерно той же частоты что у i7 3-4 ГГц? На Gen10 цена сильно кусается, хотелось бы что-то поэкономичней.
2) Насколько сильно влияет размер кэша процессора на производительность при работе с БД Firebird?
3) Даст ли ощутимый прирост производительности переход FB с 2.5.5 на 3.х? Если да, то выбирать SuperServer?
4) Влияет ли на производительность то, что сейчас сервер БД работает под Windows7, а не под нормальной серверной ОС? Больше никаких функций кроме сервера БД этот компьютер не выполняет.
5) Будет ли какой-то эффект по производительности от перевода ОС сервера с Win на Linux?
14 мар 19, 11:00    [21832178]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Ivan_Pisarevsky
Member

Откуда: НН
Сообщений: 8340
Даниил
Нагрузка на HDD и LAN - минимальная: HDD в пике 20 МБ/с, обычно 0-4 МБ/с; LAN в пике 40 МБит/с, обычно 2-10 МБит/с.
не смотри на мегабайты смотри на иопсы и очередь.
Даниил
БД каждую ночь бэкапится\ресторится на старое место.
Баловство, заменить на раз месяц. Мы вообще делаем примерно раз в год, приурочивая к смене версии самого фб.
Даниил
В итоге видимое узкое место - это процессор.
терзают меня на сей счет смутные сомнения.

Даниил
Занятая память: 5-8Гб
Даниил
БД (Firebird 2.5.5 classic) размером 55 Гб, 100-150 коннектов
нестыковка какая-то.

Даниил
1) Даст ли ощутимый прирост производительности переход на процессоры Xeon Gen9 или Gen10 Silver c 16 ядрами но частотой 2.1-2.4ГГц (вместо i7 8 ядер 3.4ГГц) или же требуется увеличить кол-во ядер при сохранении примерно той же частоты что у i7 3-4 ГГц? На Gen10 цена сильно кусается, хотелось бы что-то поэкономичней.
вряд ли.
Даниил
2) Насколько сильно влияет размер кэша процессора на производительность при работе с БД Firebird?
меньше чем дисковые иопсы и нехватка ОЗУ.
Даниил
3) Даст ли ощутимый прирост производительности переход FB с 2.5.5 на 3.х? Если да, то выбирать SuperServer?
Если запрограммировать хорошо прикладную логику то, да , влияет весьма положительно. Нагрузку держит лучше.
Даниил
4) Влияет ли на производительность то, что сейчас сервер БД работает под Windows7, а не под нормальной серверной ОС? Больше никаких функций кроме сервера БД этот компьютер не выполняет.
скорее всего пох, хотя мне судить трудно сервер на винде для меня скорее экзотика.
Даниил
5) Будет ли какой-то эффект по производительности от перевода ОС сервера с Win на Linux?
на линуксе фб работает вполне себе отлично.


Я бы начал с внятных замеров перфмоном дисковой активности и расхода ОЗУ, памяти на первый взгляд мало очень. Каждое утро разогрев файлового кэша заново, выделение места под новые странички тоже заново. надо ли каждый раз подменят базу ? Как по мне так свипа вполне достаточно (проверить на наличие зависших транзакций предварительно). На линукс стОит рыпаться, только если умеете с ним работать. Как по мне так линукс да, приятней в работе.
14 мар 19, 11:28    [21832219]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Любезный
Member

Откуда:
Сообщений: 596
автор
БД каждую ночь бэкапится\ресторится на старое место.

Не понял... База затирается при восстановлении???
14 мар 19, 11:32    [21832231]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Дегтярев Евгений
Member

Откуда: Барнаул
Сообщений: 1641
Даниил,

> не исключая оптимизации DDL и запросов
вот с этого бы и начинали...
и как выше сказали - помониторьте сисьтему, чтоб не получилось, что решал проблему, которой нет
14 мар 19, 11:46    [21832266]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9793
Даниил
БД каждую ночь бэкапится\ресторится на старое место. Перед этим делается четырехкратная проверка (начиная с DDL, заканчивая данными) на восстановимость; рестор идет в другое место, и если все хорошо, то рабочая база заменяется и т.п. - в общем не суть. Т.е. в итоге: коннектов ночью к БД нет, с утра БД всегда без мусора. За рабочий день происходит около 300 тыс. транзакций.


Вы фигнёй там страдаете. Нормально спроектированная система не нуждается в постоянном b/r.
С транзакциями надо работать правильно. Для транзакций которые оборвались по Rollback есть sweep.

Даниил
1) Даст ли ощутимый прирост производительности переход на процессоры Xeon Gen9 или Gen10 Silver c 16 ядрами но частотой 2.1-2.4ГГц (вместо i7 8 ядер 3.4ГГц) или же требуется увеличить кол-во ядер при сохранении примерно той же частоты что у i7 3-4 ГГц? На Gen10 цена сильно кусается, хотелось бы что-то поэкономичней.


увеличение количества ядер даст прирост, если только ваши 100-150 коннектов реально активны, а не просто ожидают

Даниил
2) Насколько сильно влияет размер кэша процессора на производительность при работе с БД Firebird?


не думаю что сильно

Даниил
3) Даст ли ощутимый прирост производительности переход FB с 2.5.5 на 3.х? Если да, то выбирать SuperServer?


Скорее всего даст. Выбирать SS. Но только не стоит ожидать, что достаточно сделать b/r и всё будет в ажуре.
Там дело не только в общем кэше.
Sweep в 3.0 намного более щадящий.
Фоновая сборка мусора в SS позволяет убрать то, что в классике не убирается в принципе (удалённые записи которые никогда не читаются).
Есть много нового в SQL/PSQL которое позволит переписать старый код и значительно ускорить/упростить некоторые вещи, но этим надо заниматься отдельно и долго.

Даниил
4) Влияет ли на производительность то, что сейчас сервер БД работает под Windows7, а не под нормальной серверной ОС? Больше никаких функций кроме сервера БД этот компьютер не выполняет.


если ты сравниваешь Windows 7 и всякие Windows Server xxxx, то влияет отчасти. Просто в десктопных осях по умолчанию приоритет отдаётся настольным приложениям, а не службам, но это можно изменить. Ну и плюс по умолчанию в десктопных ОСях много чего лишнего включено. В серверные обычно компоненты ОСи устанавливаются более избирательно под задачу.

Даниил
5) Будет ли какой-то эффект по производительности от перевода ОС сервера с Win на Linux?


Не факт. Всё зависит от радиуса кривизны рук и знания конкретного дистрибутива Linux.
14 мар 19, 12:02    [21832298]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Старый плюшевый мишка
Member

Откуда:
Сообщений: 592
Даниил
Перед этим делается четырехкратная проверка (начиная с DDL, заканчивая данными) на восстановимость; рестор идет в другое место, и если все хорошо, то рабочая база заменяется и т.п. - в общем не суть. Т.е. в итоге: коннектов ночью к БД нет, с утра БД всегда без мусора. За рабочий день происходит около 300 тыс. транзакций.


Первое предложение не понял совсем. Единственный способ проверить восстановимость бакапа - выполнить контрольный рестор. Выполнять эту процедуру еженощно - это комильфо это даёт уверенность в завтрашнем дне и обеспечивает своевременную диагностику фатальных проблем. А вот заменять основную базу результатом - уже излишество.

Даниил
(1 заявка - это INSERT по 20-100 записей в 5-10 таблиц огромного размера + привязанная в этому бизнес-логика на 15-20 триггеров и около 20-30 ХП, меняющих еще 10-15 таблиц) и эта заявка сохраняется (в толстом клиенте, но вся бизнес-логика выполняется на стороне сервера) до 5-7 секунд.


А на этих "ещё 15-20 таблиц" свои триггера, которые в своём теле, пусть даже при конкретных значениях данных при вставке заявки не отрабатывающем по веткам if-ов, содержат упоминания других объектов, на которых, в свою очередь... В итоге в особо тяжёлом случае по каждому чиху на препаре проверяются права пользователя на 90% объектов в базе, что не так чтоб смертельно затратно, но и не дёшево. Насчёт разницы в стоимости этого дела в 2.х и 3.х я не в курсе. Я не утверждаю, что структура и бизнес логика спроектированы через... мнэээ..., но подумать в этом направлении стоит. По крайней мере для начала сопоставить время препаре и выполнения этой внутрисерверной колбасы при вставке заявки.

Если проблема таки в выполнении, надо

а) Проверить селективность индексов и характер их заполнения, нет ли имеющих явный пик на паре-тройке значений. Даже инсёрт приводит к перестройке индексов, в основе чего лежит сортировка, которая при большом объёме дубликатов нещадно тормозит. Возможно, от некоторых из них стоит отказаться.
бе) Определить узкие места в серверном коде, сначала на уровне объектов (триггера-процедуры), затем на уровне запросов внутри подозрительных и привести в чувство индексы и планы этих запросов.
ве) Проанализировать конфиг FB на предмет соответствия задачам. Кстати, особо "удачные" решения в конфигурации оси тоже случаются. С файловым кешем, например.

И вот когда это всё не поможет, можно начинать думать о железе. Я так думаю (С).
14 мар 19, 14:15    [21832579]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Ivan_Pisarevsky
Member

Откуда: НН
Сообщений: 8340
Старый плюшевый мишка
Насчёт разницы в стоимости этого дела в 2.х и 3.х я не в курсе.
Была разница, самолично наступал на эти грабли. В версии 3.0.5 исправлено.

Старый плюшевый мишка
И вот когда это всё не поможет, можно начинать думать о железе.
У меня в десктопе больше памяти, у тут вполне себе серверок. Добить планками памяти сколько способна вытянуть платформа будет явно не лишним. Таки да, от вдумчивого программирования эффект будет куда веселей.
14 мар 19, 14:51    [21832657]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Даниил
Member

Откуда: Челябинск
Сообщений: 1031
Ivan_Pisarevsky,

Смотрел PerfMon'ом:

Обращения к диску/с
Среднее: 85000
Максимальное: 412000

Средняя длина очереди диска
Среднее: 0.051
Максимальное: 0.443

% загруженности процессора
Минимум: 6.4
Среднее: 46
Максимальное: 100

К сообщению приложен файл. Размер - 128Kb
14 мар 19, 15:12    [21832693]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48130

Определённо надо апгредить процессор в черепе разработчика базы.

Posted via ActualForum NNTP Server 1.5

14 мар 19, 15:26    [21832716]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Даниил
Member

Откуда: Челябинск
Сообщений: 1031
Старый плюшевый мишка
Первое предложение не понял совсем. Единственный способ проверить восстановимость бакапа - выполнить контрольный рестор. Выполнять эту процедуру еженощно - это комильфо это даёт уверенность в завтрашнем дне и обеспечивает своевременную диагностику фатальных проблем. А вот заменять основную базу результатом - уже излишество.

Возможно, я не совсем понятно выразился. Поскольку БД большая и в случае каких-либо проблем с ней для экономии времени сначала делается бэкап без данных. Если все хорошо, то восстановление (без данных). Если на первых двух этапах все прошло хорошо, то то же самое повторяем уже с данными. Если на каком-либо этапе что-то пошло не так - отказываемся от замены рабочей БД. Если на всех 4 этапах все хорошо, то подменяем рабочую БД (предварительно ее скопировав на всякий случай просто как обычный файл) на последнюю отресторенную БД (таким образом ежедневно проверяется БД и чистится мусор). Про такой способ где-то когда-то прочитал (возможно на ibase.ru), сделал и не трогаю уже много лет. Уже более 10 лет ни одной проблемы зафиксировано не было.


Старый плюшевый мишка
Если проблема таки в выполнении, надо

а) Проверить селективность индексов и характер их заполнения, нет ли имеющих явный пик на паре-тройке значений. Даже инсёрт приводит к перестройке индексов, в основе чего лежит сортировка, которая при большом объёме дубликатов нещадно тормозит. Возможно, от некоторых из них стоит отказаться.
бе) Определить узкие места в серверном коде, сначала на уровне объектов (триггера-процедуры), затем на уровне запросов внутри подозрительных и привести в чувство индексы и планы этих запросов.
ве) Проанализировать конфиг FB на предмет соответствия задачам. Кстати, особо "удачные" решения в конфигурации оси тоже случаются. С файловым кешем, например.

И вот когда это всё не поможет, можно начинать думать о железе. Я так думаю (С).
Про оптимизацию понял и периодически анализом долгих запросов (правда, в основном тех, которые используются в отчетах) занимаюсь.
У меня превышение загрузки процессора происходит при интенсивной работе. Если работают 20-40 пользователей, то те же самые заказы "вставляются" за время менее 2 секунд (отслеживаю по логам) и загрузка процессора при этом небольшая.
14 мар 19, 16:04    [21832768]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30273

а чо про конфиг никто не спрашивает?
или я пропустил?

Posted via ActualForum NNTP Server 1.5

14 мар 19, 17:29    [21832878]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Даниил
Member

Откуда: Челябинск
Сообщений: 1031
Мимопроходящий,

автор
#RootDirectory =
#DatabaseAccess = Full
#ExternalFileAccess = None
#UdfAccess = Restrict UDF
#TempDirectories =
#LegacyHash = 1
#Authentication = native
#AuditTraceConfigFile =
#MaxUserTraceLogSize = 10
DefaultDbCachePages = 384
#DatabaseGrowthIncrement = 134217728
#FileSystemCacheThreshold = 65536
#FileSystemCacheSize = 0
#RemoteFileOpenAbility = 0
TempBlockSize = 2048576
TempCacheLimit = 77108864
#CompleteBooleanEvaluation = 0
#DeadlockTimeout = 10
#MaxUnflushedWrites = 100
#MaxUnflushedWriteTime = 5
#BugcheckAbort = 0
#OldColumnNaming = 0
#OldSetClauseSemantics = 0
#RelaxedAliasChecking = 0
#ConnectionTimeout = 180
#DummyPacketInterval = 0
#RemoteServiceName = gds_db
#RemoteServicePort = 3050
#RemoteAuxPort = 0
#TcpRemoteBufferSize = 8192
#TcpNoNagle = 1
#RemoteBindAddress =
LockMemSize = 7048576
#LockGrantOrder = 1
#LockAcquireSpins = 0
LockHashSlots = 30011
#EventMemSize = 65536
#CpuAffinityMask = 1
#UsePriorityScheduler = 1
#PrioritySwitchDelay = 100
#PriorityBoost = 5
#GCPolicy = combined
#GuardianOption = 1
#ProcessPriorityLevel = 0
#IpcName = FIREBIRD
#RemotePipeName = interbas
#Redirection = 0
14 мар 19, 18:09    [21832910]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Даниил
Member

Откуда: Челябинск
Сообщений: 1031
Dimitry Sibiryakov
Определённо надо апгредить процессор в черепе разработчика базы.
Разработчик - это я и есть.
Кроме оптимизации DDL и запросов с клиентов где по вашему мнению у меня прям ужас ужасный?
Большой объем БД при малом расходе оперативы можно объяснить тем, что значительную часть БД занимают несколько таблиц с большим количеством записей, в которых блобы по 2-3 Мб. Я принял решение не хранить их вне БД, поскольку доступ к ним (точнее к файлам в этих блобах) у меня должен регулироваться правами пользователя. А надежный способ делать это на отдельной от БД файлопомойке, куда необходимо будет давать доступ с каждого клиентского компьютера вне зависимости от операционки, залогиненного пользователя и т.п. не придумал.
14 мар 19, 18:17    [21832914]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Ivan_Pisarevsky
Member

Откуда: НН
Сообщений: 8340
Даниил
Обращения к диску/с
Среднее: 85000
Максимальное: 412000
не кисло так, однако.

давай порознь, отдельно чтение, отдельно запись.

классику нужно чтобы в файловом кэше была активная часть БД, ему кое-как удалось закешировать 9 гиг из 55 гигов базы, есть подозрение, что этого может быть мало.

что там в хидере базы? gstat -h

DefaultDbCachePages = 384
Как-то не очень много, я бы поставил от тысячи до двух.
14 мар 19, 18:21    [21832921]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48130

Даниил
Кроме оптимизации DDL и запросов с клиентов где по вашему мнению у меня прям ужас ужасный?

1. Неспособность посмотреть и проанализировать статистку БД.
2. Неспособность выяснить чем занят процессор когда он занят.

Отсюда вангуются:

1. Кривое управление транзакциями.
2. Пложение версий записей сверх необходимости.

Posted via ActualForum NNTP Server 1.5

14 мар 19, 18:28    [21832926]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Даниил
Member

Откуда: Челябинск
Сообщений: 1031
Ivan_Pisarevsky
что там в хидере базы? gstat -h

автор
Database "e:\db\db.fdb"
Database header page information:
Flags 0
Checksum 12345
Generation 321901
Page size 16384
ODS version 11.2
Oldest transaction 319361
Oldest active 319362
Oldest snapshot 319362
Next transaction 319470
Bumped transaction 1
Sequence number 0
Next attachment ID 2423
Implementation ID 26
Shadow count 1
Page buffers 0
Next header page 0
Database dialect 3
Creation date Mar 13, 2019 22:49:37
14 мар 19, 19:16    [21832968]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28112
Даниил
на последнюю отресторенную БД (таким образом ежедневно проверяется БД и чистится мусор)

ага. делать так можно, но особого смысла нет, и кто так делает, обычно не может дать этому вменяемого объяснения.
Особенно про "чистится мусор". Мусор правда есть? Почему он накапливается? не проще gfix -sweep по расписанию запускать?
Даниил
Про такой способ где-то когда-то прочитал

это не способ. База 55 гиг - не такая уж большая. Вот если бы она была 300-400 гиг, то тогда этот "способ" вам бы пришлось выкинуть.
Даниил
Database "e:\db\db.fdb"

как я понимаю, в базе sweep interval 20000, так что срабатывания автосвипа вполне возможны.

Ну и про конфиг - зачем приводить дефолтные (закомментированные) параметры? Лениво было их вырезать?
DefaultDbCachePages = 384
маловато как-то.
14 мар 19, 19:36    [21832980]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48130

kdv
как я понимаю, в базе sweep interval 20000, так что срабатывания автосвипа вполне возможны.

С какой версии автосвип начал протоколироваться в firebird.log?

Posted via ActualForum NNTP Server 1.5

14 мар 19, 19:42    [21832981]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28112
Dimitry Sibiryakov,

не помню, но в 2.5.8 уже есть. Прикол в другом - у вновь созданной БД дефолтный свип интервал по gstat -h не выводится, то есть, его как бы нет, на самом деле он есть и равен тем самым 20000. Как пресловутый суслик.
14 мар 19, 20:37    [21833032]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 865
[quote автор]
Нагрузка на HDD и LAN - минимальная: HDD в пике 20 МБ/с, обычно 0-4 МБ/с; LAN в пике 40 МБит/с, обычно 2-10 МБит/с./quote]

Откуда такая нагрузка на SSD, если вся база закеширована в памяти? Случайно нету длинных транзакций RW, мешающих сборке мусора в сочетании с часто срабатывающим sweep?
14 мар 19, 22:21    [21833083]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48130

kdv
Прикол в другом - у вновь созданной БД дефолтный свип интервал по gstat -h не выводится

И даже не в этом прикол, а в том, что ты априори утверждаешь, что он запускается, хотя не
видно ни свидетельств этого, ни даже предпосылок.

Posted via ActualForum NNTP Server 1.5

14 мар 19, 23:11    [21833110]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Дегтярев Евгений
Member

Откуда: Барнаул
Сообщений: 1641
DmSer
Откуда такая нагрузка на SSD, если вся база закеширована в памяти?

откуда она там возьмется
kdv
DefaultDbCachePages = 384
маловато как-то.
15 мар 19, 06:37    [21833212]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Даниил
Member

Откуда: Челябинск
Сообщений: 1031
Ivan_Pisarevsky
Даниил
Обращения к диску/с
Среднее: 85000
Максимальное: 412000
не кисло так, однако.

давай порознь, отдельно чтение, отдельно запись.


Обращений чтения к диску/с
Среднее: 1561
Максимальное: 17999

Обращений записи на диск/с
Среднее: 72456
Максимальное: 796978
15 мар 19, 07:50    [21833229]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Даниил
Member

Откуда: Челябинск
Сообщений: 1031
kdv
как я понимаю, в базе sweep interval 20000, так что срабатывания автосвипа вполне возможны.

DefaultDbCachePages = 384
маловато как-то.


Я не полностью выложил текст gstat. Sweep у меня отключен:

автор
Variable header data:
Sweep interval: 0


Про рекомендацию от двух человек по DefaultDbCachePages понял. Почитаю более подробнее и в начале следующей недели увеличу.

kdv
Ну и про конфиг - зачем приводить дефолтные (закомментированные) параметры? Лениво было их вырезать?
Посчитал, что так будет понятнее, что большинство настроек - по дефолту.
15 мар 19, 08:09    [21833241]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с подбором процессора для сервера  [new]
Даниил
Member

Откуда: Челябинск
Сообщений: 1031
Типовое добавление заказа, выполняется в одной ХП:

81 record(s) was(were) updated in TABLE1
3 record(s) was(were) updated in TABLE2

7 record(s) was(were) deleted from TABLE3

81 record(s) was(were) inserted into TABLE4
1 record(s) was(were) inserted into TABLE5
25 record(s) was(were) inserted into TABLE6
3 record(s) was(were) inserted into TABLE7
7 record(s) was(were) inserted into TABLE8
81 record(s) was(were) inserted into TABLE9

------ Performance info ------
Prepare time = 0ms
Execute time = 6s 178ms
Current memory = 13 368 928
Max memory = 15 332 664
Memory buffers = 384
Reads from disk to cache = 97 067
Writes from cache to disk = 1 248
Fetches from cache = 116 444


Query Time
------------------------------------------------
Prepare : 0,00 ms
Execute : 6 178,00 ms
Avg fetch time: 0,00 ms

Memory
------------------------------------------------
Current: 13 368 928
Max : 15 332 664
Buffers: 384

Operations
------------------------------------------------
Read : 97 067
Writes : 1 248
Fetches: 116 444
Marks : 2 603



Enchanced Info:
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
| Table Name | Records | Indexed | Non-Indexed | Updates | Deletes | Inserts | Backouts | Purges | Expunges |
| | Total | reads | reads | | | | | | |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|TABLE_READ1 | 0 | 117 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|TABLE7 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 |
|TABLE8 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 0 |
|TABLE_READ2 | 0 | 188 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|TABLE_READ3 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|TABLE_READ4 | 0 | 52 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|TABLE_READ5 | 0 | 31 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|TABLE_READ6 | 0 | 71 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|TABLE1 | 0 | 1194 | 0 | 81 | 0 | 0 | 0 | 0 | 0 |
|TABLE9 | 0 | 0 | 0 | 0 | 0 | 81 | 0 | 0 | 0 |
|TABLE3 | 0 | 21 | 0 | 0 | 7 | 0 | 0 | 0 | 0 |
|TABLE2 | 0 | 12 | 0 | 3 | 0 | 0 | 0 | 0 | 0 |
|TABLE_READ7 | 0 | 85 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|TABLE_READ8 | 0 | 198 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|TABLE4 | 0 | 1820 | 0 | 0 | 0 | 81 | 0 | 0 | 0 |
|TABLE6 | 0 | 25 | 0 | 0 | 0 | 25 | 0 | 0 | 0 |
|TABLE5 | 0 | 37 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
15 мар 19, 08:33    [21833255]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5   вперед  Ctrl      все
Все форумы / Firebird, InterBase Ответить