[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OpenVZ, VServer и полудесяток



> уточню - есть система, прищедшая по наследству, основная задача которой
> - почта,
> количество пользователей - порядка 20 тысяч, сколько из них активных не
> знаю, может 6-7 тыс.
> свои проблемы со скоростью винтов (20-30 мегабайт в секунду, даже с
> кэшем) я уже выкладывал в соседней ветке.
> из-за не совсем грамотной настройки - письма не сразу отвергаются при
> ошибках  во время SMTP сессии (не тот юзер, переполнен ящик), а сначала
> получаются а потом отлупливаются обратно. Load Average поднимается до
> 1000-1500 проц в большинстве своем занят iowait. после установки
> валидации пользователей - ситуация улучшилась, но бэкап периодически
> грузит машину, если в это время есть приличное количество писем на
> отправку - то висит куча процессов ожидающих ответа от дисковой системы.

А вот бэкап надо реорганизовывать или "размазывать" во времени. Например, 
rsync имеет опцию
--bwlimit=KBPS          limit I/O bandwidth; KBytes per second
Может быть, это то, что вам нужно? 

Запросы, которые не могут быть обработаны, стоит сразу "отбивать" (это верно 
для системы любого типа), это верно как с точки зрения безопасности, так и с 
точки зрения производительности (именно в таком порядке).

> Попутно пара вопросов - в текущей системе стоит reiserfs V3.6, я же
> привык работать с ext3, так как кажется она мне более надежной и
> удобной. Как вы думаете - стоит ли оставаться на reieser и, если да,
> стоит ли переезжать на 4-ю версию ? Почта хранится в maildir - при
> обращении к ящику с большим количеством сообщений  система притормаживает.

Выбираю ext3 за ее надежность; reiserfs имеет иные настройки по умолчанию, 
потому часто рекомендуется для соответствующих задач, но чтение манов по ext3 
позволит настроить как минимум не хуже. Для начала на ext3 отключите atime, 
diratime и включите индекс директорий. После этого сможете эффективно 
работать с десятками и сотнями тысяч файлов в директории (тестировал и с 
миллионом файлов, но это на практике пока не потребовалось). Есть и другие 
полезные опции, но мне хватает вышеназванных. Имхо, рейзер нестабильная ФС с 
непонятной поддержкой и на свой сервер я ее никогда не поставлю (да и зачем - 
ощутимых преимуществ не вижу). Еще для вашей задачи стоит попробовать опцию 
data=journal (в /etc/fstab использовать нельзя, надо указывать как параметр 
загрузки), для конкурентного ввода-вывода может оказаться очень полезной.


P.S. Утилита rm отвратительно работают с большим числом файлов в директории. Я 
пишу свои скрипты на tcl, которые выполняют то же самое на несколько порядков 
быстрее. В то же время ls работает нормально, не знаю, в чем проблема. На 
примере миллиона файлов: rm /test_1000000/* думает часами и зверски насилует 
винт, в то время как на тикле foreach fn [glob /test_1000000/*] {file delete 
$fn} работает две-три минуты и почти не шелестит винтом. Посмотрите, может, и 
у вас где подобные грабли закопаны.


Reply to: