Думал над исходной задачей. Основная проблема, - непонятно, почему возникла такая задача.
Если бы знать причины, можно было бы что-то придумать. Для меня ненормально решать такие задачи, не зная контекста. Возможно, просто надо подойти с другой стороны. 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
