@@ -72,73 +72,10 @@ func TestStressMemoryUsageForThreeNodes(t *testing.T) {
7272 Debug ("[%s] Test completed successfully" , testName )
7373}
7474
75- func TestStress2Nodes500IterationTearDown (t * testing.T ) {
76-
77- var memStats runtime.MemStats
78- runtime .ReadMemStats (& memStats )
79- initialMem := memStats .HeapAlloc
80- Debug ("[%s] Memory usage at test START: %d KB" , t .Name (), initialMem / 1024 )
81-
82- initialRSS , err := utils .GetRSSKB ()
83- require .NoError (t , err )
84- Debug ("[%s] OS-level RSS at test START: %d KB" , t .Name (), initialRSS )
85-
86- totalIterations := 500
87- for i := 1 ; i <= totalIterations ; i ++ {
88- var nodes []* WakuNode
89- for n := 1 ; n <= 2 ; n ++ {
90- cfg := DefaultWakuConfig
91- cfg .Relay = true
92- cfg .Discv5Discovery = false
93- cfg .TcpPort , cfg .Discv5UdpPort , err = GetFreePortIfNeeded (0 , 0 )
94- require .NoError (t , err , "Failed to get free ports for node%d" , n )
95- node , err := NewWakuNode (& cfg , fmt .Sprintf ("node%d" , n ))
96- require .NoError (t , err , "Failed to create node%d" , n )
97- err = node .Start ()
98- require .NoError (t , err , "Failed to start node%d" , n )
99- nodes = append (nodes , node )
100- }
101- err = ConnectAllPeers (nodes )
102- require .NoError (t , err )
103- message := nodes [0 ].CreateMessage ()
104- msgHash , err := nodes [0 ].RelayPublishNoCTX (DefaultPubsubTopic , message )
105- require .NoError (t , err )
106- time .Sleep (500 * time .Millisecond )
107- err = nodes [1 ].VerifyMessageReceived (message , msgHash , 500 * time .Millisecond )
108- require .NoError (t , err , "Node1 did not receive message from node1" )
109- for _ , node := range nodes {
110- node .StopAndDestroy ()
111- }
112- runtime .GC ()
113- time .Sleep (250 * time .Millisecond )
114- runtime .GC ()
115- if i == 250 || i == 500 {
116- runtime .ReadMemStats (& memStats )
117- Debug ("Iteration %d, usage after teardown: %d KB" , i , memStats .HeapAlloc / 1024 )
118- require .LessOrEqual (t , memStats .HeapAlloc , initialMem * 3 , "Memory usage soared above threshold after iteration %d" , i )
119- rssNow , err := utils .GetRSSKB ()
120- require .NoError (t , err )
121- Debug ("Iteration %d, OS-level RSS after teardown: %d KB" , i , rssNow )
122- //require.LessOrEqual(t, rssNow, initialRSS*10, "OS-level RSS soared above threshold after iteration %d", i)
123- }
124- Debug ("Iteration numberrrrrr %d" , i )
125- }
126- runtime .GC ()
127- time .Sleep (500 * time .Millisecond )
128- runtime .GC ()
129- runtime .ReadMemStats (& memStats )
130- finalMem := memStats .HeapAlloc
131- Debug ("[%s] Memory usage at test END: %d KB" , t .Name (), finalMem / 1024 )
132- // require.LessOrEqual(t, finalMem, initialMem*3, "Memory usage soared above threshold after %d cycles", totalIterations)
133- finalRSS , err := utils .GetRSSKB ()
134- require .NoError (t , err )
135- Debug ("[%s] OS-level RSS at test END: %d KB" , t .Name (), finalRSS )
136- //require.LessOrEqual(t, finalRSS, initialRSS*3, "OS-level RSS soared above threshold after %d cycles", totalIterations)
137- }
138-
13975func TestStressStoreQuery5kMessagesWithPagination (t * testing.T ) {
14076 Debug ("Starting test" )
141-
77+ runtime .GC ()
78+ time .Sleep (5 * time .Second )
14279 nodeConfig := DefaultWakuConfig
14380 nodeConfig .Relay = true
14481 nodeConfig .Store = true
@@ -366,3 +303,68 @@ func TestStressLargePayloadEphemeralMessagesEndurance(t *testing.T) {
366303 require .NoError (t , err )
367304 Debug ("After endurance test: HeapAlloc = %d KB, RSS = %d KB" , endHeapKB , endRSSKB )
368305}
306+
307+ func TestStress2Nodes500IterationTearDown (t * testing.T ) {
308+
309+ var memStats runtime.MemStats
310+ runtime .ReadMemStats (& memStats )
311+ initialMem := memStats .HeapAlloc
312+ Debug ("[%s] Memory usage at test START: %d KB" , t .Name (), initialMem / 1024 )
313+
314+ initialRSS , err := utils .GetRSSKB ()
315+ require .NoError (t , err )
316+ Debug ("[%s] OS-level RSS at test START: %d KB" , t .Name (), initialRSS )
317+
318+ totalIterations := 500
319+ for i := 1 ; i <= totalIterations ; i ++ {
320+ var nodes []* WakuNode
321+ for n := 1 ; n <= 2 ; n ++ {
322+ cfg := DefaultWakuConfig
323+ cfg .Relay = true
324+ cfg .Discv5Discovery = false
325+ cfg .TcpPort , cfg .Discv5UdpPort , err = GetFreePortIfNeeded (0 , 0 )
326+ require .NoError (t , err , "Failed to get free ports for node%d" , n )
327+ node , err := NewWakuNode (& cfg , fmt .Sprintf ("node%d" , n ))
328+ require .NoError (t , err , "Failed to create node%d" , n )
329+ err = node .Start ()
330+ require .NoError (t , err , "Failed to start node%d" , n )
331+ nodes = append (nodes , node )
332+ }
333+ err = ConnectAllPeers (nodes )
334+ require .NoError (t , err )
335+ message := nodes [0 ].CreateMessage ()
336+ msgHash , err := nodes [0 ].RelayPublishNoCTX (DefaultPubsubTopic , message )
337+ require .NoError (t , err )
338+ time .Sleep (500 * time .Millisecond )
339+ err = nodes [1 ].VerifyMessageReceived (message , msgHash , 500 * time .Millisecond )
340+ require .NoError (t , err , "Node1 did not receive message from node1" )
341+ for _ , node := range nodes {
342+ node .StopAndDestroy ()
343+ time .Sleep (50 * time .Millisecond )
344+ }
345+ runtime .GC ()
346+ time .Sleep (250 * time .Millisecond )
347+ runtime .GC ()
348+ if i == 250 || i == 500 {
349+ runtime .ReadMemStats (& memStats )
350+ Debug ("Iteration %d, usage after teardown: %d KB" , i , memStats .HeapAlloc / 1024 )
351+ require .LessOrEqual (t , memStats .HeapAlloc , initialMem * 3 , "Memory usage soared above threshold after iteration %d" , i )
352+ rssNow , err := utils .GetRSSKB ()
353+ require .NoError (t , err )
354+ Debug ("Iteration %d, OS-level RSS after teardown: %d KB" , i , rssNow )
355+ //require.LessOrEqual(t, rssNow, initialRSS*10, "OS-level RSS soared above threshold after iteration %d", i)
356+ }
357+ Debug ("Iteration numberrrrrr %d" , i )
358+ }
359+ runtime .GC ()
360+ time .Sleep (500 * time .Millisecond )
361+ runtime .GC ()
362+ runtime .ReadMemStats (& memStats )
363+ finalMem := memStats .HeapAlloc
364+ Debug ("[%s] Memory usage at test END: %d KB" , t .Name (), finalMem / 1024 )
365+ // require.LessOrEqual(t, finalMem, initialMem*3, "Memory usage soared above threshold after %d cycles", totalIterations)
366+ finalRSS , err := utils .GetRSSKB ()
367+ require .NoError (t , err )
368+ Debug ("[%s] OS-level RSS at test END: %d KB" , t .Name (), finalRSS )
369+ //require.LessOrEqual(t, finalRSS, initialRSS*3, "OS-level RSS soared above threshold after %d cycles", totalIterations)
370+ }
0 commit comments