📁
GoReplay
  • Build software better, together
  • Getting-Started
  • Home
    • [PRO]-Recording-and-replaying-keep-alive-TCP-sessions
    • [PRO]-Replaying-Binary-protocols
    • [PRO]-Using-S3-for-storing-and-replaying-traffic
    • Capturing-and-replaying-traffic
    • Commercial-FAQ
    • Commercial-Support
    • Compilation
    • Dealing-with-missing-requests-and-responses
    • Development-Setup
    • Distributed-configuration
    • Exporting-to-ElasticSearch
    • FAQ
    • Middleware
    • Rate-limiting
    • Replaying-HTTP-traffic
    • Request-filtering
    • Request-rewriting
    • Running-as-non-root-user
    • Running-on-Windows
    • Saving-and-Replaying-from-file
    • Streaming-from-and-to-Apache-Kafka
    • The-Basics
    • Troubleshooting
Powered by GitBook
On this page

Was this helpful?

  1. Home

[PRO]-Recording-and-replaying-keep-alive-TCP-sessions

PreviousHomeNext[PRO]-Replaying-Binary-protocols

Last updated 4 years ago

Was this helpful?

This feature available only in PRO version. See for details.

By default, GoReplay does not guarantee that when you record keep-alive TCP session, it will be replayed in the same TCP connection as well. This is ok for most of the cases, but it does not give an accurate number of TCP sessions while replaying, also may cause issues if your application state depends on TCP session (do not mess with HTTP session).

extension adds support for accurate recording and replaying of keep-alive TCP sessions. Separate connection to your server is created per original session and it makes benchmarks and tests incredibly accurate. To enable session recognition you just need to pass --recognize-tcp-sessions option.

gor --input-raw :80 --recognize-tcp-sessions --output-http http://test.target

Note that enabling this option also change algorithm of distributing traffic when using --split-output, see [Distributed configuration].

https://goreplay.org/pro.html
GoReplay PRO