Итак, решил воспользоваться возможностями Linux по заточке под разные задачи.
1. Сервер БД Oracle. Я его особо не админил, поэтому единственное, что поменял
Цитата: echo noop > /sys/block/sd*/queue/scheduler
там какая-то умная библиотека-рейд, положился на ее ум. Особого прироста производительности не заметил, но дисковые операции стали значительно меньше жрать процовых ресурсов. Процы там не очень и я получил некий резерв их мощности. Суть вышеприведенной операции - отключение i/o scheduler, т.е. за запись отвечает умная железка. Для многих серверов это не подойдет, но где подойдет - лучше бы включить.
2.Домашний десктоп (4Гб ОЗУ). Суть - быстрый отклик в приложениях. Общая пропускная способность не столь важна. Главное, чтобы я быстро получал результат в текущем приложении. Вот типовое решение, т.е. как сделано у меня и как мне нравится (можно включать шаги по отдельности):
в ядре:
Цитата: Location:
-> Processor type and features
Preemption Model (Preemptible Kernel (Low-Latency Desktop))
Цитата: Location:
-> Processor type and features
Timer frequency (1000 HZ)
Цитата: Location:
-> Enable the block layer (BLOCK [=y]) -> IO Schedulers
Default I/O scheduler (CFQ)
в sysctl.conf
Цитата: vm.swappiness = 5
vm.dirty_background_ratio = 40
vm.dirty_ratio = 50
т.е. минимальный своп, обеспечивающий возможность быстро переключиться на приложение, даже если оно давно бездействовало, быстрый отклик в ущерб общей производительности. Т.е. десктоп, как его понимаю я сам.
3.Эллочка. Подаренный на день рождения неттоп (2Гб ОЗУ), маленькая коробочка, где сейчас живут прокси, оптимизатор, Эллочка из конференции, джаббер с аськой и сам форум в виде mysql, апача и nginx с php. Суть оптимизации - сервер приложений. Учитывая "помоечность", т.е. набитость приложениями, необходимо было обеспечить большую тягу к свопу, чтобы обеспечить работающим приложениям и кешу свободную память. Одновременно с этим необходимо было снизить нагрузку на винт и максимизировать использование памяти при дисковых операциях, чтобы обеспечить серверу долгую жизнь на одном винте без рейда. Т.е. общая тенденция - все в кеш и не дергать винт по каждому запросу. Запросов много, каждую секунду кто-то что-то хочет от веб-сервера. Ну и не хотелось бы, чтобы это все тормозило, только в отличие от предыдущего варианта с десктопом тут нужна максимальная производительность в целом, а не быстрый отклик. Итак:
в ядре:
Цитата: Location:
-> Processor type and features
Preemption Model (No Forced Preemption (Server))
Цитата: Location:
-> Processor type and features
Timer frequency (250 HZ)
Цитата: Location:
-> Enable the block layer (BLOCK [=y]) -> IO Schedulers
Default I/O scheduler (Deadline)
в sysctl.conf
Цитата: vm.swappiness = 100
vm.dirty_background_ratio = 70
vm.dirty_ratio = 80
vm.dirty_writeback_centisecs = 20000
vm.dirty_expire_centisecs = 20000
vm.vfs_cache_pressure=1000
пока все работает и как надо...