First of all, you need to make sure that `tailchat-cli` has been installed, and the version is above `1.5.8`. For the installation method, see: [tailchat-cli](../cli/tailchat-cli.md)
You can see the following commands supported by benchmark in the Help command of Tailchat:
```
tailchat benchmark
Tailchat Benchmark Test
Commands:
tailchat benchmark message Stress testing through Tailchat network
requests (suitable for pure business
testing)
tailchat benchmark connections <url> Test Tailchat Connections
tailchat benchmark register <url> Create Tailchat temporary account and
output token
Options:
--version Show version number [boolean]
-h, --help Show help [boolean]
```
Among them, we mainly use the `connections` command and the `register` command
## Register test users in batches
First of all, we need to register test users in batches, here we need to use the `register` command
```
tailchat benchmark register <url>
Create Tailchat temporary account and output token
> Note: In order to ensure the quality of service, the register operation is sent in a serial manner, that is, the subsequent register operation will start after the previous register operation is completed. Therefore, if the number of settings is too large, it may take a long time.
Among them, `<invite-code>` requires the user to create a group and create an invitation link. The format of an invite link is: `http://localhost:11011/invite/<invite-code>`
After completion, we can get the corresponding number of test users to join the group.
## User batch login
We want to test the performance of the server when multiple people are allowed online, we need to use the `connections` command to log in and establish a connection.
The `connections` command will automatically read the token file after batch registration in the previous operation as the user who needs to log in
```
tailchat benchmark connections <url>
Test Tailchat Connections
Options:
--version Show version number [boolean]
--file Account Token Path
[string] [required] [default: "./accounts"]
--groupId Group Id which send Message [string]
--converseId Converse Id which send Message [string]
-h, --help Show help [boolean]
--url [required]
```
If we want to log in directly to the local service:
At this point, we can use the resource detection tool on the server to check the memory usage and CPU usage of the server after all test users are online.
### Message push/receive time detection
In order to test the performance of the Tailchat chat server in an actual session, we can measure the time it takes for a message to be sent from the client to the server and for the server to broadcast the message to all users.
Here we need to specify the target to send the message, as follows: