From 31117ce0fbf386dc48fe73e6567295aaa9a9a90a Mon Sep 17 00:00:00 2001 From: aya Date: Sat, 22 Mar 2025 16:12:43 +0200 Subject: [PATCH] Increase iterations to 500 --- waku/endurance_readings.log | 75 +++++++++++++++++++++++++++++++++++ waku/stress_test.go | 79 +++++++++++++++++++------------------ 2 files changed, 115 insertions(+), 39 deletions(-) create mode 100644 waku/endurance_readings.log diff --git a/waku/endurance_readings.log b/waku/endurance_readings.log new file mode 100644 index 0000000..8227357 --- /dev/null +++ b/waku/endurance_readings.log @@ -0,0 +1,75 @@ +2025-03-22T16:11:53.648+0200 debug Before test: HeapAlloc = 787 KB, RSS = 19184 KB +2025-03-22T16:11:53.648+0200 debug Initializing node0 +2025-03-22T16:11:53.649+0200 debug Creating node0 +2025-03-22T16:11:53.649+0200 debug Creating new WakuNode: node0 +2025-03-22T16:12:02.759+0200 debug Successfully created WakuNode: node0 +2025-03-22T16:12:02.760+0200 debug Starting node0 +2025-03-22T16:12:02.760+0200 debug Starting node0 +2025-03-22T16:12:02.771+0200 debug Successfully started node0 +2025-03-22T16:12:02.771+0200 debug Successfully started node0 +2025-03-22T16:12:02.771+0200 debug Initializing node1 +2025-03-22T16:12:02.771+0200 debug Creating node1 +2025-03-22T16:12:02.771+0200 debug Creating new WakuNode: node1 +2025-03-22T16:12:02.795+0200 debug Successfully created WakuNode: node1 +2025-03-22T16:12:02.795+0200 debug Starting node1 +2025-03-22T16:12:02.795+0200 debug Starting node1 +2025-03-22T16:12:02.803+0200 debug Successfully started node1 +2025-03-22T16:12:02.803+0200 debug Successfully started node1 +2025-03-22T16:12:02.803+0200 debug Connecting node0 to node1 +2025-03-22T16:12:02.804+0200 debug Attempting connection to peer 16Uiu2HAmN1NqAzicChHumLDsHXXER4323sJRqgUNpHPBMYWEHMWD +2025-03-22T16:12:07.819+0200 debug Successfully connected node0 to node1 +2025-03-22T16:12:08.820+0200 debug Fetching number of connected peers for node0 +2025-03-22T16:12:08.821+0200 debug Fetching connected peers for node0 +2025-03-22T16:12:08.822+0200 debug Successfully fetched connected peers for node0, count: 1 +2025-03-22T16:12:08.822+0200 debug Successfully fetched number of connected peers for node0, count: 1 +2025-03-22T16:12:08.822+0200 debug Iteration 1: node0 sees 1 connected peers +2025-03-22T16:12:08.822+0200 debug Creating a WakuMessage on node node0 +2025-03-22T16:12:08.822+0200 debug Using default message format on node node0 +2025-03-22T16:12:08.822+0200 debug Successfully created a default WakuMessage on node node0 +2025-03-22T16:12:08.822+0200 debug Attempting to publish message via relay on node node0 +2025-03-22T16:12:08.830+0200 debug Successfully published message via relay on node node0, messageHash: 0xf2ed86e5ee6429bc046fa197e66f448507b08dfea50956623ef993386383d199 +2025-03-22T16:12:08.830+0200 debug Iteration 1: node0 published message with hash 0xf2ed86e5ee6429bc046fa197e66f448507b08dfea50956623ef993386383d199 +2025-03-22T16:12:08.830+0200 debug Disconnecting node0 from node1 +2025-03-22T16:12:08.841+0200 debug Successfully disconnected node0 from node1 +2025-03-22T16:12:08.841+0200 debug Iteration 1: node0 disconnected from node1 +2025-03-22T16:12:10.841+0200 debug Connecting node0 to node1 +2025-03-22T16:12:10.843+0200 debug Attempting connection to peer 16Uiu2HAmN1NqAzicChHumLDsHXXER4323sJRqgUNpHPBMYWEHMWD +2025-03-22T16:12:15.847+0200 debug Successfully connected node0 to node1 +2025-03-22T16:12:16.847+0200 debug Fetching number of connected peers for node0 +2025-03-22T16:12:16.848+0200 debug Fetching connected peers for node0 +2025-03-22T16:12:16.849+0200 debug Successfully fetched connected peers for node0, count: 1 +2025-03-22T16:12:16.849+0200 debug Successfully fetched number of connected peers for node0, count: 1 +2025-03-22T16:12:16.849+0200 debug Iteration 2: node0 sees 1 connected peers +2025-03-22T16:12:16.849+0200 debug Creating a WakuMessage on node node0 +2025-03-22T16:12:16.849+0200 debug Using default message format on node node0 +2025-03-22T16:12:16.849+0200 debug Successfully created a default WakuMessage on node node0 +2025-03-22T16:12:16.849+0200 debug Attempting to publish message via relay on node node0 +2025-03-22T16:12:16.854+0200 debug Successfully published message via relay on node node0, messageHash: 0x9c588679f0149e46b7d9266cc464674292153d4d9430d1dabd780e0de0ddcd86 +2025-03-22T16:12:16.854+0200 debug Iteration 2: node0 published message with hash 0x9c588679f0149e46b7d9266cc464674292153d4d9430d1dabd780e0de0ddcd86 +2025-03-22T16:12:16.854+0200 debug Disconnecting node0 from node1 +2025-03-22T16:12:16.863+0200 debug Successfully disconnected node0 from node1 +2025-03-22T16:12:16.864+0200 debug Iteration 2: node0 disconnected from node1 +2025-03-22T16:12:18.864+0200 debug Connecting node0 to node1 +2025-03-22T16:12:18.866+0200 debug Attempting connection to peer 16Uiu2HAmN1NqAzicChHumLDsHXXER4323sJRqgUNpHPBMYWEHMWD +2025-03-22T16:12:23.869+0200 debug Successfully connected node0 to node1 +2025-03-22T16:12:24.869+0200 debug Fetching number of connected peers for node0 +2025-03-22T16:12:24.870+0200 debug Fetching connected peers for node0 +2025-03-22T16:12:24.871+0200 debug Successfully fetched connected peers for node0, count: 2 +2025-03-22T16:12:24.871+0200 debug Successfully fetched number of connected peers for node0, count: 2 +2025-03-22T16:12:24.871+0200 debug Iteration 3: node0 sees 2 connected peers +2025-03-22T16:12:24.871+0200 debug Disconnecting node0 from node1 +2025-03-22T16:12:24.881+0200 debug Successfully disconnected node0 from node1 +2025-03-22T16:12:24.881+0200 debug Iteration 3: node0 disconnected from node1 +2025-03-22T16:12:26.882+0200 debug Connecting node0 to node1 +2025-03-22T16:12:26.884+0200 debug Attempting connection to peer 16Uiu2HAmN1NqAzicChHumLDsHXXER4323sJRqgUNpHPBMYWEHMWD +2025-03-22T16:12:31.889+0200 debug Successfully connected node0 to node1 +2025-03-22T16:12:32.889+0200 debug Fetching number of connected peers for node0 +2025-03-22T16:12:32.890+0200 debug Fetching connected peers for node0 +2025-03-22T16:12:32.890+0200 debug Successfully fetched connected peers for node0, count: 2 +2025-03-22T16:12:32.891+0200 debug Successfully fetched number of connected peers for node0, count: 2 +2025-03-22T16:12:32.891+0200 debug Iteration 4: node0 sees 2 connected peers +2025-03-22T16:12:32.891+0200 debug Disconnecting node0 from node1 +2025-03-22T16:12:32.903+0200 debug Successfully disconnected node0 from node1 +2025-03-22T16:12:32.903+0200 debug Iteration 4: node0 disconnected from node1 +2025-03-22T16:12:34.903+0200 debug Connecting node0 to node1 +2025-03-22T16:12:34.905+0200 debug Attempting connection to peer 16Uiu2HAmN1NqAzicChHumLDsHXXER4323sJRqgUNpHPBMYWEHMWD diff --git a/waku/stress_test.go b/waku/stress_test.go index b9ed873..461bf77 100644 --- a/waku/stress_test.go +++ b/waku/stress_test.go @@ -280,17 +280,32 @@ func TestHighThroughput10kPublish(t *testing.T) { Debug("Total time per message ~ %v", duration/time.Duration(totalMessages)) } -func TestConnectDisconnect50Iteration(t *testing.T) { +func TestConnectDisconnect500Iteration(t *testing.T) { + logFile, err := os.OpenFile("endurance_readings.log", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0644) + require.NoError(t, err) + defer logFile.Close() + encoderCfg := zap.NewProductionEncoderConfig() + encoderCfg.TimeKey = "ts" + encoderCfg.EncodeTime = zapcore.ISO8601TimeEncoder + core := zapcore.NewCore(zapcore.NewConsoleEncoder(encoderCfg), zapcore.AddSync(logFile), zap.DebugLevel) + logger := zap.New(core) + SetLogger(logger) + + var memStats runtime.MemStats + runtime.ReadMemStats(&memStats) + startHeapKB := memStats.HeapAlloc / 1024 + startRSSKB, err := utils.GetRSSKB() + require.NoError(t, err) + Debug("Before test: HeapAlloc = %d KB, RSS = %d KB", startHeapKB, startRSSKB) + node0Cfg := DefaultWakuConfig node0Cfg.Relay = true node0, err := StartWakuNode("node0", &node0Cfg) - require.NoError(t, err, "Failed to start node0") - + require.NoError(t, err) node1Cfg := DefaultWakuConfig node1Cfg.Relay = true node1, err := StartWakuNode("node1", &node1Cfg) - require.NoError(t, err, "Failed to start node1") - + require.NoError(t, err) defer func() { node0.StopAndDestroy() node1.StopAndDestroy() @@ -298,41 +313,27 @@ func TestConnectDisconnect50Iteration(t *testing.T) { iterations := 50 for i := 1; i <= iterations; i++ { - if i%2 == 1 { - err := node0.ConnectPeer(node1) - require.NoError(t, err, "Iteration %d: node0 failed to connect to node1", i) - time.Sleep(1 * time.Second) - count, err := node0.GetNumConnectedPeers() - require.NoError(t, err, "Iteration %d: failed to get peers for node0", i) - Debug("Iteration %d: node0 sees %d connected peers", i, count) - if count == 1 { - msg := node0.CreateMessage() - msg.Payload = []byte(fmt.Sprintf("Iteration %d: message from node0", i)) - msgHash, err := node0.RelayPublishNoCTX(DefaultPubsubTopic, msg) - require.NoError(t, err, "Iteration %d: node0 failed to publish message", i) - Debug("Iteration %d: node0 published message with hash %s", i, msgHash.String()) - } - err = node0.DisconnectPeer(node1) - require.NoError(t, err, "Iteration %d: node0 failed to disconnect from node1", i) - Debug("Iteration %d: node0 disconnected from node1", i) - } else { - err := node1.ConnectPeer(node0) - require.NoError(t, err, "Iteration %d: node1 failed to connect to node0", i) - time.Sleep(1 * time.Second) - count, err := node1.GetNumConnectedPeers() - require.NoError(t, err, "Iteration %d: failed to get peers for node1", i) - Debug("Iteration %d: node1 sees %d connected peers", i, count) - if count == 1 { - msg := node1.CreateMessage() - msg.Payload = []byte(fmt.Sprintf("Iteration %d: message from node1", i)) - msgHash, err := node1.RelayPublishNoCTX(DefaultPubsubTopic, msg) - require.NoError(t, err, "Iteration %d: node1 failed to publish message", i) - Debug("Iteration %d: node1 published message with hash %s", i, msgHash.String()) - } - err = node1.DisconnectPeer(node0) - require.NoError(t, err, "Iteration %d: node1 failed to disconnect from node0", i) - Debug("Iteration %d: node1 disconnected from node0", i) + err := node0.ConnectPeer(node1) + require.NoError(t, err, "Iteration %d: node0 failed to connect to node1", i) + time.Sleep(1 * time.Second) + count, err := node0.GetNumConnectedPeers() + require.NoError(t, err, "Iteration %d: failed to get peers for node0", i) + Debug("Iteration %d: node0 sees %d connected peers", i, count) + if count == 1 { + msg := node0.CreateMessage() + msg.Payload = []byte(fmt.Sprintf("Iteration %d: message from node0", i)) + msgHash, err := node0.RelayPublishNoCTX(DefaultPubsubTopic, msg) + require.NoError(t, err, "Iteration %d: node0 failed to publish message", i) + Debug("Iteration %d: node0 published message with hash %s", i, msgHash.String()) } + err = node0.DisconnectPeer(node1) + require.NoError(t, err, "Iteration %d: node0 failed to disconnect from node1", i) + Debug("Iteration %d: node0 disconnected from node1", i) time.Sleep(2 * time.Second) } + runtime.ReadMemStats(&memStats) + endHeapKB := memStats.HeapAlloc / 1024 + endRSSKB, err := utils.GetRSSKB() + require.NoError(t, err) + Debug("After test: HeapAlloc = %d KB, RSS = %d KB", endHeapKB, endRSSKB) }