Make TCP connection storm between server and client for benchmarking network stuff

Related tags

Network connstorm
Overview

connstorm

make TCP connection storm between server and client for benchmarking network stuff.

usage

Usage:
  connstorm [OPTIONS] 
   
    

Help Options:
  -h, --help  Show this help message

Available commands:
  client
  server

   

client help

Usage:
  connstorm [OPTIONS] client [client-OPTIONS]

Help Options:
  -h, --help              Show this help message

[client command options]
          --from=         lower port number to listen or connect
          --to=           upper port number to listen or connect
      -H, --host=         hostname[s] to connect
          --max-workers=  max number of worker to connect to server (default: 100)
          --read-timeout= read timeout (default: 30s)

server help

Usage:
  connstorm [OPTIONS] server [server-OPTIONS]

Help Options:
  -h, --help        Show this help message

[server command options]
          --from=   lower port number to listen or connect
          --to=     upper port number to listen or connect
      -l, --listen= address for listen (default: 0.0.0.0)
          --linger= lingering timeout (default: 0)
          --delay=  delay time before close socket (default: 0.1s)

example

exec server

$ /usr/local/bin/connstorm server --from 8500 --to 8800 --linger 1 --delay 0.1s

run client

$ GOGC=500 /usr/local/bin/connstorm client -H server1 -H server2 -H server3 --from 8500 --to 8800 --max-workers 10000
2021/11/09 13:12:04 newConnection: 103270.200000 connections/sec
2021/11/09 13:12:14 newConnection: 105419.600000 connections/sec
2021/11/09 13:12:24 newConnection: 108597.700000 connections/sec
You might also like...
TcpRoute , TCP 层的路由器。对于 TCP 连接自动从多个线路(电信、联通、移动)、多个域名解析结果中选择最优线路。

TcpRoute2 TcpRoute , TCP 层的路由器。对于 TCP 连接自动从多个线路(允许任意嵌套)、多个域名解析结果中选择最优线路。 TcpRoute 使用激进的选路策略,对 DNS 解析获得的多个IP同时尝试连接,同时使用多个线路进行连接,最终使用最快建立的连接。支持 TcpRoute

TCP output for beats to send events over TCP socket.

beats-tcp-output How To Use Clone this project to elastic/beats/libbeat/output/ Modify elastic/beats/libbeat/publisher/includes/includes.go : // add i

Tcp chat go - Create tcp chat in golang

TCP chat in GO libs Go net package and goroutines and channels tcp tcp or transm

Our aim is to expand the capabilities of blockchain and make a secure way for transferring NFT between RMRK and MOVR blockchain.

remov Inspiration Our aim is to expand the capabilities of blockchain and make a secure way for transferring NFT between RMRK and MOVR blockchain. The

Client - Server TCP Chat For String Messages And Random Files

GoChat Client - Server TCP Chat For String Messages And Random Files GoChat is a chat for string messages and random files using Golorem by Derek A. R

Golang pow implementation client <-> server over UDP and TCP protocols
Golang pow implementation client - server over UDP and TCP protocols

Client - server over UDP and TCP pow protocol Denial-of-Service-attacks are a typical situation when providing services over a network. A method for

:alarm_clock: :fire: A TCP proxy to simulate network and system conditions for chaos and resiliency testing
:alarm_clock: :fire: A TCP proxy to simulate network and system conditions for chaos and resiliency testing

Toxiproxy Toxiproxy is a framework for simulating network conditions. It's made specifically to work in testing, CI and development environments, supp

Toxiproxy - A TCP proxy to simulate network and system conditions for chaos and resiliency testing
Toxiproxy - A TCP proxy to simulate network and system conditions for chaos and resiliency testing

Toxiproxy is a framework for simulating network conditions. It's made specifically to work in testing, CI and development environments, supp

Client-Server tcp-based file transfer application in GoLang

Клиент-серверный файловый сервис на базе протокола TCP Клиент client.go шифрует свои файлы алгоритмом AES с режимом CBC и помещает их на сервер server

Owner
Masahiro Nagano
Masahiro Nagano
“Dear Port80” is a zero-config TCP proxy server that hides SSH connection behind a HTTP server!

Dear Port80 About The Project: “Dear Port80” is a zero-config TCP proxy server that hides SSH connection behind a HTTP server! +---------------------

Abbas Gheydi 6 Jun 29, 2022
Send network packets over a TCP or UDP connection.

Packet is the main class representing a single network message. It has a byte code indicating the type of the message and a []byte type payload.

Aero 71 Nov 28, 2022
Uses the Finger user information protocol to open a TCP connection that makes a request to a Finger server

Finger Client This client uses the Finger user information protocol to open a TCP connection that makes a request to a Finger server. Build and Run Ru

Linda Xiao 0 Oct 7, 2021
Package socket provides a low-level network connection type which integrates with Go's runtime network poller to provide asynchronous I/O and deadline support. MIT Licensed.

socket Package socket provides a low-level network connection type which integrates with Go's runtime network poller to provide asynchronous I/O and d

Matt Layher 49 Dec 14, 2022
Small TCP benchmarking tool in Go-lang

Simple TCP benchmark tool in Go =============================== This package provides simple command line tool to benchmark number of concurrent TCP

Kris Kovalik 14 Aug 16, 2021
wire protocol for multiplexing connections or streams into a single connection, based on a subset of the SSH Connection Protocol

qmux qmux is a wire protocol for multiplexing connections or streams into a single connection. It is based on the SSH Connection Protocol, which is th

Jeff Lindsay 205 Dec 26, 2022
Multiplexer over TCP. Useful if target server only allows you to create limited tcp connections concurrently.

tcp-multiplexer Use it in front of target server and let your client programs connect it, if target server only allows you to create limited tcp conne

许嘉华 3 May 27, 2021
A simple proxy to work with tcp connection

Proxy It is simple proxy to work with tcp connection HTTP TCP Getting Started pr

Altynbek Kaliakbarov 0 Dec 16, 2021
Simple Relay between a Unix socket and a TCP socket, and vice versa.

Simple TCP <-> Unix Relay simpletcpunixrelay is a program which exposes a TCP endpoint as a Unix socket and vice versa. Usecase Let's say you are runn

Antoine Catton 1 Nov 23, 2022