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 не делался уже полтора года.