Думал над исходной задачей. Основная проблема, - непонятно, почему возникла
такая задача.

Если бы знать причины, можно было бы что-то придумать.

Для меня ненормально решать такие задачи, не зная контекста. Возможно,
просто надо подойти с другой стороны.

4 августа 2012 г., 19:33 пользователь Михаил Монашёв <
[email protected]> написал:

> Здравствуйте.
>
> Есть  10 серверов. На каждом сервере запускается один и mysql-сервер и
> 100  экземпляров  одного перлового скрипта (с минимальным приоритетом,
> чтобы им оставалось только неизрасходованное процессорное время) . Это
> скрипт  пишет  очень  много  данных  на  все  сервера в mysql-и. Диски
> перестают  справляться  с  запросами  на запись и все другие процессы,
> которые читают или пишут в те же mysql-и начинают тормозить. Т.е. надо
> придумать, как отдавать этому скрипту только свободный дисковый ресурс
> другого   сервера,   да  так,  чтобы  другие  более  важные  процессы,
> обращающиеся к этим же mysql-ям, не тормозили.
>
> Основная проблема в том,
> что  нагрузку на одном сервере создаёт процесс с другого и из-за этого
> приходится  мониторить  нагрузку  периодически,  а не постоянно. А она
> меняется  с  момента  измерения.  Кроме  того,  в зависимости от самой
> нагрузки   приходится   выставлять   разные  границы,  когда  нагрузка
> считается высокой. В качестве показателя дисковой нагрузки я использую
> время выполнения одной операции чтения/записи. Чтобы гасить нагрузку я
> делаю Time::HiRes::sleep($timeout) и меняя этот $timeout пытаюсь
> адаптироваться под текущую нагрузку.
>
> Операционка FreeBSD 8.X.
>
> Сейчас зашёл в тупик, ибо нифига не выходит сделать адаптирующиеся под
> текущую  нагрузку  алгоритм.  Всегда  выходит две крайности: или много
> неоправданного простоя или диски перегружены и всё тормозит.
>
> --
> С уважением,
>  Михаил                          mailto:[email protected]
>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org
>
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить