Khorsun Vlad wrote:

Памяти 2Гб, диск один SATA2. Но и база то мелкая, зато реалтайм.


   Если ты хочешь кешировать БД целиком, то по памяти ты на грани. Добавить
её не помешает. Если реалтайм, то почему авто-свип не запрещён ? Далее.

Кэшировать всю особо не нужно, т.к. интенсивно юзается инфа только за последнии 1-2 месяца. Да и половина базы в редко юзаемых блобах.

Со свипом проблем никогда не было. Реалтайм от относительный. Т.е. обычно insert проходит мгновенно, но судя по логу примерно раз в сутки тормозит на 20-40 секунд. Что это - х.з. Может винда в дикий своп ухоит.

По идее свип вообще должен редко запускаться, т.к. откаты и обрывы соединений крайне редки в нормальный работе.

Свип может много писать на диск (если мусора много).

Мусора много нет. В основном insert-select.

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

Я писал, что лог поймал торможение запроса, который вообще ничего не читает: execute block as begin post_event 'my_event'; end

   Так что я бы попробвал добить память до 3GB и тянуть всю БД в кеш при
старте системы. Например, с помощью того же gstat -r, читающего всё, кроме
разве что блобов.

База там крутится круглосуточно без перерыва, и с ней работают несколько служб. Рестарт крайне редкий. b/r не делался уже полтора года.

Ответить