Boucle requete GET http pour test de charge
Bonjour à tous,
Voici ma question:
Je fais un test de performances et de montée en charge d'un serveur web.
Afin de simuler plusieurs connexions simultanées, j'utilise ce script (à deux trois lignes près)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| #!/usr/bin/env python
import httplib
import sys
#get http server ip
http_server = sys.argv[1]
#create a connection
conn = httplib.HTTPConnection(http_server)
while 1:
cmd = "GET / HTTP/1.1\r\n"
cmd = cmd.split()
if cmd[0] == 'exit': #tipe exit to end it
break
#request command to server
conn.request(cmd[0], cmd[1])
#get response from server
rsp = conn.getresponse()
#print server response and data
print(rsp.status, rsp.reason)
data_received = rsp.read()
print(data_received)
raw_input() |
Je mets un "raw_input() à la fin afin de garder la connexion active.
Un script (.bat) lance ce script 100, 1000 ou 10000 fois en simultané afin de tester la résistance du serveur.
J'en arrive à ma question:
Est-ce que mon script ne fait qu'un seul GET et puis garde la connexion ouverte, ou bien il fait des "GET" en continu ? Pour moi il boucle bien à l'infini mais je suis pas sur...
S'il le fait qu'une fois, comment puis-je lui dire de faire un "GET toutes les deux secondes par exemple?
Merci d'avance pour votre aide.
P.S: je ne connais pas bien du tout python.