Лучшая вещь сделать, если Вы хотите видеть производительность на длительном периоде, состоит в том, чтобы использовать Centreon, который является, мощные инструменты основываются на Nagios. Centreon делают Вас способными контролировать путем рисования графиков действий ресурса и партии других вещей.
for i in {1..100000}
Существует только 65 536 портов. Отрегулируйте это.
for n in {1..100000..1000}; do # start 100 fetch loops
for i in `eval echo {$n..$((n+999))}`; do
echo "club $i..."
curl -s "http://some_url_here/"$i > $i.txt
done &
wait
done
(редактирование: echo
curl
(редактирование: разделите сильно датированное утверждение о пределах ОС и добавьте пропавших без вести wait
)
После вопроса строго:
mycurl() {
START=$(date +%s)
curl -s "http://some_url_here/"$1 > $1.txt
END=$(date +%s)
DIFF=$(( $END - $START ))
echo "It took $DIFF seconds"
}
export -f mycurl
seq 100000 | parallel -j0 mycurl
Короче, если вам не нужен текст шаблона в районе таймингов:
seq 100000 | parallel -j0 --joblog log curl -s http://some_url_here/{} ">" {}.txt
cut -f 4 log
Если вы хотите параллельно запускать 1000s, то вы столкнетесь с некоторыми ограничениями (например, с файловыми дескрипторами). Повышение ulimit -n или /etc/security/limits.conf может помочь.