Skip to content

jzyong/TcpStressTesting

Repository files navigation

Tcp Stress Test Tool

    Distributed customized TCP protocol stress testing,statistics tool. Because the TCP protocol of each project is different, the project cannot be directly used. You need to modify the TCP packet logic and application logic by yourself.

Directory Description
client tcp client logic(need modify)
config config file
core core logic
example server demo
res document,script

architecture

Features

  • Cluster implementation, support for maximum pressure load
  • Message delay (minimum, maximum, average)
  • Traffic statistics (average, total)
  • Server CPU and memory consumption
  • Request message and respond message are counted separately
  • Message statistics support lua expression filtering

Usage

Command line

# 1. Clone Project
git clone https://github.com/jzyong/TcpStressTesting.git
cd TcpStressTesting

# 2. Build and run tool, change the ip address of the configuration file
go build
.\TcpStressTesting.exe --config config/application_config_jzy_master.json

# 3. Run example server
cd .\example\
go test

# 4. Start and stop test
 cd .\core\rpc\
 go test -v -run StartTest
 go test -v -run StopTest

Docker

change the ip address of the configuration file

docker-compose up -d

Statistical UI

UI Client    Download
dashboard1 dashboard2 request response worker

About

Distributed custom TCP protocol stress test tool

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages