Искусственно изменить нагрузку на сервер в Ubuntu - PullRequest
6 голосов
/ 14 марта 2012

Мне любопытно, можно ли искусственно изменить нагрузку на сервер в Ubuntu или, в более общем случае, в Linux. Я работаю над приложением, которое реагирует на нагрузку на сервер, и для его тестирования было бы неплохо, если бы я мог легко изменить нагрузку на сервер.

В настоящее время у меня запущена чрезмерно активная программа, которая буквально генерирует нагрузку, но я бы предпочел не продолжать перегревать свой ноутбук (он нагревается!).

Ответы [ 5 ]

6 голосов
/ 14 марта 2012

Одна из самых важных вещей, которые нужно знать о системах Linux (или Unix), это то, что все это просто файл.Поскольку вы просто читаете из /proc/loadavg, вам было проще всего выполнить то, что вам нужно, просто создать текстовый файл, содержащий строку текста, которую вы увидите при запуске cat /proc/loadavg.Затем прочитайте вашу программу из того файла, который вы создали, вместо /proc/loadavg, и это не будет мудрым.Если вы хотите протестировать в разных «искусственных» ситуациях, просто измените текст в этом файле и сохраните.Когда тестирование будет завершено, просто измените вашу программу на чтение с /proc/loadavg, и вы можете быть уверены, что она будет работать как положено.

Обратите внимание, вы можете сделать этот текстовый файл где угодно ... в вашемдомашний каталог, в программном каталоге, где угодно.Тем не менее, вы не должны делать это в /proc.Этот каталог зарезервирован для системных объектов.

3 голосов
/ 14 марта 2012

Вы можете использовать команду stress, см. http://weather.ou.edu/~apw/projects/stress/

Инструмент для наложения нагрузки и стресс-тестирования компьютерной системы

sudo apt-get install stress

Чтобы избежать перегрева процессора, вы можете установить виртуальную машину с небольшой производительностью процессора. virtualbox и qemu-kvm бесплатны.

2 голосов
/ 26 марта 2012

Используйте chroot для запуска различных программ, которые вы тестируете, с указанным каталогом в качестве корневого каталога. Настройте изготовленный / измененный / proc / loadavg относительно этого нового корневого каталога.

chroot позволит вам создать фиктивный файл, в котором будет отображаться , для которого в качестве пути будет указан / proc / loadavg, поэтому программа будет наблюдать ваши изготовленные значения, даже если вы не можете изменить свой код для просмотра для загрузки данных в другое место.

0 голосов
/ 23 марта 2012

Существует два метода.

Взлом / proc / loadavg

  • Машина не перегружена
  • Ваша программа считывает загрузкуvalus из файла

Todo: взломать Linux, чтобы сообщить о ложном значении нагрузки

Изменить ваш prg

  • Аппарат не перегружен
  • Ваша программа считывает значения загрузки из файла

Todo: изменить 4 символа в вашем prg: заменить /proc / loadavg с / tmp / loadavg

Вы можете решить сейчас.Рассчитать затраты;)

0 голосов
/ 22 марта 2012

Поскольку вы не хотите на самом деле / ​​буквально подвергать стрессу машину, что-то вроде стресс - это не то, что вам нужно.

Как уже говорилось, / proc / loadavg будет местом установки средних значений загрузки системы (ложные нагрузки).

Но если это тоже не то, что вам нужно, я бы абсолютно предложил

getloadavg

сторожевой

и даже возможно Munin plugins

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...