Bonjour,
J'ai développé un serveur avec le package http. Il doit répondre à des requêtes de client en gérant une DB postgreSQL (insert, select, ...).
J'ai fait un script de test qui lui envoie 10 000 requêtes (avec le package 'request') mais je penses que je n'arrive pas à mettre en place le côté asynchrone (autant client que serveur).
Je bute depuis plusieurs jours sur ce problème. Voilà les différentes étapes réalisée actuellement :
Le serveur fonctionne en deux étapes:
- first : des logs sur la console script test : envoie des requetes
- puis : des logs sur la console serveur : quant le script de test à tout envoyé, le les réceptionne TOUTES (le serveur s’exécute jusqu’à repos/roles.js ligne 27, puis handle la prochaine requête)
- puis : des logs sur la console serveur et script test : le serveur execute chaque insert (call la fonction de pg-promise) puis envoie les résultats a chaque fois, et en parallèle le script test affiche le retour sur la console
Est-ce un fonctionnement normal ? N'y a-t-il pas moyen que le serveur receptionne les requete au fur et a mesure que le script de test les envoies ? C'est-à-dire avoir quelque chose comme :
- first : des logs sur la console de test et serveur : envoie des requêtes par le test, réception des requêtes par le serveur au fur et a mesure
- puis : des logs sur la console serveur et de test : le serveur continu de recevoir au fur et a mesure que le test envoie et en plus fait des inserts et renvoie les données dès qu'il peut ?
J'ai trouvé cette vidéo et si j'ai bien compris comment fonctionne l'asynchronisme (avec l'event loop) sur JS je penses que ce n'est pas possible.. Quelqu'un peut-il me confirmer ? Elle date de 2014, ce qui y ai dit est toujours valable ?
Un peu de code :
Script de test :
Code JAVASCRIPT : Sélectionner tout - Visualiser dans une fenêtre à part 
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
(main) server.js :
Code JAVASCRIPT : Sélectionner tout - Visualiser dans une fenêtre à part 
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
un des repo (roles.js):
Code JAVASCRIPT : Sélectionner tout - Visualiser dans une fenêtre à part 
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
30
31
32
33
34
35
36
37
38

 

 
		
		 
        

 
			
			

 
   
 


 serveur http buffer toutes les requetes envois de les executer
 serveur http buffer toutes les requetes envois de les executer
				 Répondre avec citation
  Répondre avec citation
Partager