Live data from Hacker News

Gor – A simple http traffic replication tool written in Go

github.com

11–20 of 24 posts

Re: Gor – A simple http traffic replication tool written in Go

#11
post #5
post #3

Seems like an awesome tool. As a side note, however, I would recommend anybody to not blindly apply the "Tuning" section (at the bottom of the readme) to their system. More specifically, net.ipv4.tcp_tw_recycle and net.ipv4.tcp_tw_reuse are notorious for causing problems if mis-used.

Could you elaborate?

Of course,

net.ipv4.tcp_tw_recycle causes problems with NAT-ed clients.

tcp_tw_recycle (Boolean; default: disabled; since Linux 2.4) Enable fast recycling of TIME_WAIT sockets. Enabling this option is not recommended since this causes problems when working with NAT (Network Address Translation).

net.ipv4.tcp_tw_reuse seems fine to use, but literature about its real effects is sparse.

This link http://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-li... mentions both of them.

Re: Gor – A simple http traffic replication tool written in Go

#12

Eek... that's a rather unfortunate name choice. The "Gor" saga is an infamous series of books spanning the past 50 years, basically the sci-fi/fantasy equivalent of "Fifty Shades of Grey". https://en.wikipedia.org/wiki/Gor https://www.google.com/search?q=gor&biw=1920&bih=947&source=...

"There are only two hard things in Computer Science: cache invalidation and naming things." -- Phil Karlton http://martinfowler.com/bliki/TwoHardThings.html

Oh, and off-by-one errors.

Re: Gor – A simple http traffic replication tool written in Go

#14

This is super cool. You know what I'd really really like even more? Store this info somewhere, and let me replay it at a later time or date. Maybe I want to replay a whole day's worth of data at an accelerated rate to see if my servers can handle it. It also opens up the ability to do data forensics to try and reproduce a bug, perhaps. Thanks for this!

It appears to have that support.

  # write to file
  gor --input-raw :80 --output-file requests.gor

  # read from file
  gor --input-file requests.gor --output-http "http://staging.com"

Re: Gor – A simple http traffic replication tool written in Go

#15
post #12

Earlier quoted context omitted.

"There are only two hard things in Computer Science: cache invalidation and naming things." -- Phil Karlton http://martinfowler.com/bliki/TwoHardThings.html

Oh, and off-by-one errors.

I still count two problems. =)

Re: Gor – A simple http traffic replication tool written in Go

#16
post #4

Looks like Tsung replay feature: http://tsung.erlang-projects.org/

I can't find any documentation, but the name suggests, that Tsung would be doing log replaying.

Gor does packet capturing and duplicates the requests to any number of environments.

It's a different tool for a different task.

Re: Gor – A simple http traffic replication tool written in Go

#18

I took me a while to find gor, and it seems that there aren't many tools for traffic duplication/replication out there. If you know of any tools like gor, I'd very much like to know of them.

There's httap: https://github.com/rolftimmermans/httap

Re: Gor – A simple http traffic replication tool written in Go

#19

I took me a while to find gor, and it seems that there aren't many tools for traffic duplication/replication out there. If you know of any tools like gor, I'd very much like to know of them.

At the higher end of the performance scale there are commercial options using specialized hardware and commercial software. Building block cost is ~$300k/20Gbps (~400K rps) of replay traffic, but scales out with parallel deployments.
Post reply on HN