私はPythonには新しく、このコードを実行して複数のマシンの並列pingを実行しようとしています。しかし、すべてのIPを同時にpingすることはできません。私は複数のサーバーを同時にpingすることができますか?geventを使用した並列ping
import gevent
import urllib2
import os
from gevent import monkey
monkey.patch_all()
def print_head(i):
switch='192.168.182.170'
response = os.system("ping -c 5 " + switch)
jobs = [gevent.spawn(print_head, i) for i in range(1,10)]
gevent.joinall(jobs, timeout=2)
このソリューションに感謝します。 10000台のサーバで稼働させた場合、約90秒の時間がかかります。このスクリプトのパフォーマンスを向上させる方法はありますか?プロセスあたり90秒未満の時間がかかったのは、 –
です。 –
混乱して申し訳ありません。私が範囲---(1,10000)内の---に対してprocess = [Process(target = print_head、args =(i、))]のようなコードを使用した場合、90秒で終わります。それが60秒に近づくべき方法はありますか? –