def main(hits, workers, url, timeout):
global _timeout, durations, result_codes, update_ui_now
_timeout = timeout
print ""
print Fore.CYAN + 'PAIN IS GOOD v0.0001 ' + Style.RESET_ALL
print ""
print '%sHitting: %s%s' % (Style.DIM, Style.NORMAL, url)
print '%sHits: %s%s%s' % (Style.DIM, Style.NORMAL, locale.format("%d", hits, grouping=True), Style.NORMAL)
print '%sWorkers: %s%s%s' % (Style.DIM, Style.NORMAL, locale.format("%d", workers, grouping=True), Style.NORMAL)
print '%sTimeout: %s%s seconds%s' % (Style.DIM, Style.NORMAL, timeout, Style.NORMAL)
main_start = time.time()
print Style.DIM + '\nStarting Workers...' + Style.RESET_ALL,
sys.stdout.flush()
for i in range(workers):
t = Thread(target=do_work)
t.daemon = True
t.start()
print ' Done.'
print "\n" + Fore.CYAN + "Result Codes:" + Style.NORMAL
ui = Thread(target=update_ui)
ui.daemon = True
ui.start()
try:
for i in range(hits):
q.put(url.strip())
q.join()
except KeyboardInterrupt:
sys.exit(1)
_update_ui()
update_ui_now = False
print ""
total_seconds = time.time()-main_start
print "Total time: %.2f seconds." % total_seconds
if '200 OK' in result_codes:
print "Successful Requests Per Second: %.2f" % (result_codes['200 OK'] / total_seconds)
if durations:
print "Average response: %.2f seconds." % (reduce(lambda x, y: x + y, durations) / len(durations))
print "Longest Response: %.2f seconds" % max(durations)
print "Quickest Response: %.2f seconds" % min(durations)
if elapsed:
print "Longest Elapsed: %.2f seconds" % max(elapsed)
print "Quickest Elapsed: %.2f seconds" % min(elapsed)
print ""
评论列表
文章目录