Giter VIP home page Giter VIP logo

tarsbenchmark's Introduction

点我查看中文版

Introduction

tb(TarsBenchmark)It is a non-code benchmark tool specially tailored for tars service, with the following features:

  • High performance: 8-core machine TPS supports more than 20W/s;
  • Network compatibility: The network layer supports TCP and UDP protocol;
  • Protocol scalability: It supports http/tars service benchmark, open to third-protocol agreements
  • Perfect real-time monitor. Provide the number of TPS/Success Rate/Cost time within the cycle;

Framework

The tb is designed in a multi-process model. The main process is responsible for resource scheduling and display, and the benchmark process is responsible for network transmission and reception and statistics. The network layer can flexibly choose TCP or UDP; adopts a protocol factory to manage various service protocols, supports http/tars by default; the main process and the benchmark process exchange signals through control information, and the data interacts through the lock-free shared memory queue to achieve the lowest resource consumption. The main process periodically collects each The network statistics of the benchmark process are output to the console after a simple summary.

tb system

Usage

Sample

./tb -c 600 -s 6000 -D 192.168.31.1 -P 10505 -p tars -S tars.DemoServer.DemoObj -M test -C test.txt

Description

  -h                   help information
  -c                   number of connections
  -D                   target server address(ipv4)
  -P                   target server port
  -p                   service protocol(tars|http)
  -t(optional)         overtime time,default 3 second
  -T(optional)         network protocol,default tcp
  -I(optional)         continue time(by second),default 1h
  -i(optional)         view interval(by second),default 10s
  -s(optional)         maximum tps limit per target server
  -n(optional)         maximum process

See details in develop.md

Quick Start

The online benchmark service can be implemented with the latest version of TarsWeb. release steps are as follows:

./install.sh webhost token adminsip nodeip

Description:

webhost                  TarsWeb management side, for example: http://webhost
token                    Which can obtain the http://webhost/auth.html#/token through the management side
adminsip                 The IP address of the AdminServer deployment, it must be deployed at a single point
nodeip                   The IP address of the NodeServer deployment, it should be separated from the AdminServer

AdminServer is recommended to deploy together with tarsregistry, NodeServer is recommended to expand the capacity on the management side. The more machines deployed, the stronger the ability to support parallel benchmark.

Demo

demo

tarsbenchmark's People

Contributors

forrestlinfeng avatar ruanshudong avatar etzhangsx avatar tarscloudbot avatar wincsb avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.