Preface
The excellence of a communication system is primarily measured by four indicators:high performance, stability, reliability, and ordering.
High performance: Extreme stress testing of message sending concurrency and message receiving concurrency.
Stability: Testing whether CPU and memory remain stable during long-term operation under high concurrency.
Reliability: Testing whether messages are lost.
Ordering: Testing whether messages are out of order.
Test Environment
All stress test results can be reproduced on your own server according to the test content and hardware specifications. WuKongIM Test Version:v2.1.2-20250120
Hardware Information
| Resource Description | Hardware Configuration | Quantity |
|---|---|---|
| WuKongIM Server | Ubuntu 22.04 LTS SA5.4XLARGE32 (Standard SA5, 16 cores 32GB), 50G Enhanced SSD Cloud Disk, Baseline Performance: 4300 IOPS | 1 unit |
| Stress Test Machine | Ubuntu 22.04 LTS SA5.4XLARGE32 (Standard SA5, 16 cores 32GB), 50G Enhanced SSD Cloud Disk, Baseline Performance: 4300 IOPS | 1 unit |
Performance Testing
Core indicator of whether a communication system is high-performance: message sending concurrency and message receiving concurrency (in simple terms: the maximum number of messages the system can process for sending and delivery per second)
Send Rate Testing
Test Content| Content | Online | Send Rate |
|---|---|---|
| 100 groups of 100 people each | 1 person online per group | 24,000 messages per minute per group |
100 * (24000/60) = 40,000 messages/second
Test Screenshots
| Test Content | System Top Information |
|---|---|
![]() | ![]() |
| Metric | Value |
|---|---|
| Total Messages Sent | 20 million |
| Message Sending Concurrency | 40,000/second |
| Average Send Latency | 400ms~600ms |
| Memory Usage | 1~2G |
| CPU Usage | 60~80% |
40,000/second, the average message sending latency is still within milliseconds, memory is stable, CPU usage is within expectations. Excellent performance! 👍
(If you have no concept of 40,000/second, compared to MySQL, a 16-core server has write performance of about 3,000~8,000/second. 40,000/second is close to Redis write performance with AOF mode enabled)
Receive Rate Testing
Test Content| Content | Online | Send Rate |
|---|---|---|
| 1 group of 10,000 people | 5,000 group members online (50%) | 2,400 messages per minute |
5000 * (2400/60) = 200,000 messages/second
Test Screenshots
| Test Content | System Top Information |
|---|---|
![]() | ![]() |
| Metric | Value |
|---|---|
| Total Messages Received | 100 million |
| Message Receiving Concurrency | 200,000/second |
| Average Receive Latency | Under 1s |
| Memory Usage | 1~2G |
| CPU Usage | 40~60% |
200,000/s, demonstrating very strong performance.
Mixed Testing
Test Content| Content | Online | Send Rate |
|---|---|---|
| 1,000 one-on-one chats | 1,000 people online | 600 messages per minute per pair |
| 100 groups of 100 people each | 1 person online per group | 1,200 messages per minute per group |
| 1 group of 10,000 people | 5,000 group members online | 300 messages per minute |
1000 * (600/60) + 100 * (1200/60) + 1 * (600/60) = 12,010 messages/second
Total Receive Rate: 1000 * (600/60) + 100 * (600/60) + 1 * 5000 * (300/60) = 36,000 messages/second
Test Screenshots
| Test Content | System Top Information |
|---|---|
![]() | ![]() |
| Metric | Value |
|---|---|
| Messages Sent | ~4 million |
| Send Concurrency | 12,000 messages/second |
| Average Send Latency | 10~500ms |
| Messages Received | ~10 million |
| Receive Concurrency | 36,000 messages/second |
| Average Receive Latency | Under 1s |
| Memory Usage | 1~2G |
| CPU Usage | 70~80% |
12,000/s and 36,000/s respectively, showing excellent performance.
Stability Testing
Testing whether the system can run stably under low message latencyTest Objective
Test whether the system can run smoothly under high-frequency sending and receiving concurrency, with average message latency in ideal state (under 500ms).Test Content
20,000 people online simultaneously| Content | Online | Send Rate |
|---|---|---|
| 1,000 one-on-one chats | 1,000 people online | 30 messages per minute per pair |
| 200 groups of 200 people each | 50 (25%) people online per group | 30 messages per minute per group |
| 100 groups of 500 people each | 125 (25%) people online per group | 30 messages per minute per group |
| 1 group of 10,000 people | 2,500 group members online (25%) | 30 messages per minute per group |
Test Results
Result Screenshots| Test Content | System Top Information |
|---|---|
![]() | ![]() |
| Content | Result |
|---|---|
| Continuous Test Duration | 48 hours |
| Simultaneous Online | 20,000 |
| Messages Sent | 100 million |
| Messages Received | 2 billion |
| Success Rate | 100% |
| Send Rate | ~600 messages/second |
| Receive Rate | ~15,000 messages/second |
| Average Send Latency | 1~30ms |
| Average Receive Latency | 1~200ms |
| Memory | ~5G |
| CPU | Maintained at ~20% |
Reliability Testing
Testing whether messages are lostTest Objective
Under massive message sending and receiving, all recipients can receive all messages completely.Test Content
| Content | Online | Send Rate |
|---|---|---|
| 1,000 one-on-one chats | 1,000 people online | 30 messages per minute per pair |
| 200 groups of 200 people each | 50 (25%) people online per group | 30 messages per minute per group |
| 100 groups of 500 people each | 125 (25%) people online per group | 30 messages per minute per group |
| 1 group of 10,000 people | 2,500 group members online (25%) | 30 messages per minute per group |
Test Results
Result Screenshots| Test Content | Expected Messages Received |
|---|---|
![]() | ![]() |
| Content | Result |
|---|---|
| Simultaneous Online | 20,000 |
| Messages Sent | 102,335,788 |
| Messages Received | 2,021,201,206 |
| Success Rate | 100% |
| Expected Messages to Receive | 2,021,201,206 |
| Actual Messages Received | 2,021,201,206 |
WuKongIM.
Ordering Testing
Testing whether messages are out of orderTest Objective
Rapidly send messages within a channel to see if the recipient’s order is consistent with the sender’s.Test Content
| Content | Online | Send Rate |
|---|---|---|
| 1 one-on-one chat | 2 people online | Rapid message sending |











