Revert "stress test wip"

This reverts commit acde8a1fb3.
This commit is contained in:
spaced4ndy
2025-11-11 12:52:48 +04:00
parent acde8a1fb3
commit 025a9d1379
2 changed files with 11 additions and 57 deletions
-5
View File
@@ -3292,12 +3292,7 @@ runDeliveryJobWorker a deliveryKey Worker {doWork} = do
processDeliveryJob job =
case jobScopeImpliedSpec jobScope of
DJDeliveryJob _includePending -> do
liftIO $ print $ "processDeliveryJob, starting sendBodyToMembers"
t1 <- liftIO getCurrentTime
sendBodyToMembers
t2 <- liftIO getCurrentTime
let diff = diffToMilliseconds $ diffUTCTime t2 t1
liftIO $ print $ "processDeliveryJob, sendBodyToMembers in: " <> show diff <> " ms"
withStore' $ \db -> updateDeliveryJobStatus db jobId DJSComplete
DJRelayRemoved
| workerScope /= DWSGroup ->
+11 -52
View File
@@ -238,7 +238,7 @@ chatGroupTests = do
it "number of recipients is equal to bucket size (3/3)" (testChannelsRelayDeliverLoop 3)
it "sender should deduplicate their own messages" testChannelsSenderDeduplicateOwn
describe "stress test" $ do
fit "deliver to 5,000 members" (testChannelsRelayDeliverStress2 5_000)
fit "deliver to 1000 members" (testChannelsRelayDeliverStress 1000)
testGroupCheckMessages :: HasCallStack => TestParams -> IO ()
testGroupCheckMessages =
@@ -8195,7 +8195,7 @@ createChannel5 :: String -> TestCC -> TestCC -> TestCC -> TestCC -> TestCC -> IO
createChannel5 gName owner relay cath dan eve = do
(shortLink, fullLink) <- createChannel1Relay gName owner relay
forM_ [cath, dan, eve] $ \member ->
memberJoinChannel gName relay shortLink fullLink 1 member
memberJoinChannel gName relay shortLink fullLink member
createChannel1Relay :: String -> TestCC -> TestCC -> IO (String, String)
createChannel1Relay gName owner relay = do
@@ -8225,20 +8225,19 @@ createChannel1Relay gName owner relay = do
owner ##> ("/show link #" <> gName)
getGroupLinks owner gName GRMember False
memberJoinChannel :: String -> TestCC -> String -> String -> Int -> TestCC -> IO ()
memberJoinChannel gName relay shortLink fullLink userId member = do
memberJoinChannel :: String -> TestCC -> String -> String -> TestCC -> IO ()
memberJoinChannel gName relay shortLink fullLink member = do
mName <- userName member
mFullName <- showName member
member ##> ("/_connect plan " <> show userId <> " " <> shortLink)
member ##> ("/_connect plan 1 " <> shortLink)
member <## "group link: ok to connect via relays"
groupSLinkData <- getTermLine member
member ##> ("/_prepare group " <> show userId <> " " <> fullLink <> " " <> shortLink <> " direct=off " <> groupSLinkData)
member ##> ("/_prepare group 1 " <> fullLink <> " " <> shortLink <> " direct=off " <> groupSLinkData)
member <## ("#" <> gName <> ": group is prepared")
-- group id is same as user id
member ##> ("/_connect group #" <> show userId)
member ##> "/_connect group #1"
member <## "ok"
concurrentlyN_
[ do
@@ -8340,12 +8339,8 @@ testChannelsSenderDeduplicateOwn ps = do
where
cfg = testCfg {deliveryWorkerDelay = 250000}
-- 100 members
-- - w/ reception: 965 ms
-- - sendMessages: 51 ms
-- 1000 members
-- - w/ reception: 16395 ms
-- - sendMessages: 1197 ms
-- 100 members: 965 ms
-- 1000 members: 16395 ms
testChannelsRelayDeliverStress :: HasCallStack => Int -> TestParams -> IO ()
testChannelsRelayDeliverStress numMembers ps =
withNewTestChat ps "alice" aliceProfile $ \alice -> do
@@ -8357,12 +8352,12 @@ testChannelsRelayDeliverStress numMembers ps =
descr = "Member" <> show i
memberProfile = mkProfile (T.pack name) (T.pack descr) Nothing
member <- createTestChat ps testCfg testOpts name memberProfile
memberJoinChannel "team" bob shortLink fullLink 1 member
memberJoinChannel "team" bob shortLink fullLink member
print $ name <> " joined"
pure member
print $ "starting sending to " <> show numMembers <> " members..."
t1 <- getCurrentTime
print $ "starting sending to " <> show numMembers <> " members..."
alice #> "#team hi"
bob <# "#team alice> hi"
@@ -8376,39 +8371,3 @@ testChannelsRelayDeliverStress numMembers ps =
forConcurrently_ memberCCs $ \member -> do
member <// 100000
stopTestChat ps member
-- 100 members
-- - w/ reception: 1081 ms
-- - sendMessages: 47 ms
-- 1000 members
-- - w/ reception: 13843 ms
-- - sendMessages: 689 ms
-- 5000 members
-- - w/ reception:
-- - sendMessages:
testChannelsRelayDeliverStress2 :: HasCallStack => Int -> TestParams -> IO ()
testChannelsRelayDeliverStress2 numMembers ps =
withNewTestChat ps "alice" aliceProfile $ \alice -> do
withNewTestChatOpts ps relayTestOpts "bob" bobProfile $ \bob -> do
withNewTestChat ps "cath" cathProfile $ \cath -> do
(shortLink, fullLink) <- createChannel1Relay "team" alice bob
memberJoinChannel "team" bob shortLink fullLink 1 cath
forM_ [2..numMembers] $ \i -> do
let uName = "cath" <> show i
cath ##> ("/create user " <> uName)
showActiveUser cath uName
memberJoinChannel "team" bob shortLink fullLink i cath
print $ uName <> " joined"
print $ "starting sending to " <> show numMembers <> " members..."
t1 <- getCurrentTime
alice #> "#team hi"
bob <# "#team alice> hi"
forM_ [1..numMembers] $ \_i -> do
cath .<## "#team alice> hi [>>]"
t2 <- getCurrentTime
let diff = diffToMilliseconds $ diffUTCTime t2 t1
print $ "sent to " <> show numMembers <> " members in: " <> show diff <> " ms"