HighLoadHttpGenerator

class HighLoadHttpGenerator

This HTTP generator produces huge amount of requests however it doesn’t validate responses and doesn’t measure any time characteristics.

It provides two modes: when highPressure is false then it parses response stream, counts status codes and enqueues new requests (in other words it means that is is waiting for responses but uses pipelining).

In highPressure mode the load generator only produces requests as much as possible and discards all server responses. In this mode it generates too high pressure so server could fail or get stuck due to long long tasks queue. If server could manage so much requests then RPS is much higher (up to 10x higher) in this mode but load generator provides absolutely no diagnostics.

Constructors

<init>

HighLoadHttpGenerator(
    url: String,
    host: String,
    port: Int,
    numberConnections: Int,
    queueSize: Int,
    highPressure: Boolean)
HighLoadHttpGenerator(
    host: String,
    port: Int,
    numberOfConnections: Int,
    queueSize: Int,
    highPressure: Boolean,
    builder: RequestResponseBuilder.() -> Unit)

This HTTP generator produces huge amount of requests however it doesn’t validate responses and doesn’t measure any time characteristics.

Properties

highPressure

val highPressure: Boolean

host

val host: String

numberOfConnections

val numberOfConnections: Int

queueSize

val queueSize: Int

Functions

mainLoop

fun mainLoop(): Unit

shutdown

fun shutdown(): Unit

stop

fun stop(): Unit

Companion Object Functions

doRun

fun doRun(
    url: String,
    host: String,
    port: Int,
    numberOfThreads: Int,
    connectionsPerThread: Int,
    queueSize: Int,
    highPressure: Boolean,
    gracefulMillis: Long,
    timeMillis: Long
): Unit
fun doRun(
    host: String,
    port: Int,
    numberOfThreads: Int,
    connectionsPerThread: Int,
    queueSize: Int,
    highPressure: Boolean,
    gracefulMillis: Long,
    timeMillis: Long,
    builder: RequestResponseBuilder.() -> Unit
): Unit

main

fun main(args: Array<String>): Unit