TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Gor – A simple http traffic replication tool written in Go

105 点作者 mrsirduke将近 10 年前

12 条评论

StevePerkins将近 10 年前
Eek... that&#x27;s a rather unfortunate name choice. The &quot;Gor&quot; saga is an infamous series of books spanning the past 50 years, basically the sci-fi&#x2F;fantasy equivalent of &quot;Fifty Shades of Grey&quot;.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Gor" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Gor</a><p><a href="https:&#x2F;&#x2F;www.google.com&#x2F;search?q=gor&amp;biw=1920&amp;bih=947&amp;source=lnms&amp;tbm=isch&amp;sa=X&amp;ei=RjmDVa21GOHasASDzauwCg&amp;ved=0CAYQ_AUoAQ" rel="nofollow">https:&#x2F;&#x2F;www.google.com&#x2F;search?q=gor&amp;biw=1920&amp;bih=947&amp;source=...</a>
评论 #9742534 未加载
tmd83将近 10 年前
I have always wanted to use such a tool and this one looks good from a cursory glance.<p>But what I have always wanted to know how people actually use these properly. There are two problems that I see in replicating production traffic to staging&#x2F;dev<p>1. Changes in application structure url&#x2F;parameter. I think given the change we make per release, we will get a lot of error. How to gracefully handle that?<p>2. Our application is write heavy so there is a lot of new content. So the majority of the requests will access content s that don&#x27;t exists in the staging&#x2F;dev environment. We can&#x27;t even use live replication of DB either since we usually have a lot of DB changes also.<p>One solution I can think of is record today&#x27;s traffic. Take a DB snapshot at the end of the day, replicate DB, run migration and then replay. Still has to deal with app change. Am I missing something or this is really challenging. I can see how this will perfectly work though for infrastructure change like server software or configuration.<p>On a side note of the blue&#x2F;green deployment. Theoretically the reversible DB migration&#x2F;parallel deployments of old-new version sounds good. But how many people can make this possible? Does most app has little DB changes from release to release. I will hazard a guess that if we try to implement such things the cost of such complexity will easily overshadow the actual changes to the app and most likely add severe risk of bug. But people seem to be doing it, again not sure what I&#x27;m missing.
laumars将近 10 年前
Blog post: <a href="http:&#x2F;&#x2F;leonsbox.com&#x2F;blog&#x2F;2013&#x2F;06&#x2F;04&#x2F;improving-testing-by-using-real-traffic-from-production&#x2F;" rel="nofollow">http:&#x2F;&#x2F;leonsbox.com&#x2F;blog&#x2F;2013&#x2F;06&#x2F;04&#x2F;improving-testing-by-usi...</a><p>And previous discussion: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=5824387" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=5824387</a>
atom_enger将近 10 年前
We use it to replicate production traffic to our staging and testing environments at <a href="https:&#x2F;&#x2F;reverb.com" rel="nofollow">https:&#x2F;&#x2F;reverb.com</a>. It&#x27;s an incredibly useful and functional tool. We&#x27;ve used it to shake out exceptions from our blue&#x2F;green deploys as well. For instance when we migrated from Rails 3 -&gt; 4, Gor was paramount to shaking out some pretty nasty bugs by replicating prod traffic from the Rails 3 cluster to the new Rails 4 cluster.<p>Gor is awesome!
fweespeech将近 10 年前
This seems like a super useful tool, especially if you want to do blue&#x2F;green deploys where staging&#x2F;production end up on the same physical machines and you want to run with artificial load as part of capacity planning&#x2F;testing.
Thaxll将近 10 年前
Looks like Tsung replay feature: <a href="http:&#x2F;&#x2F;tsung.erlang-projects.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;tsung.erlang-projects.org&#x2F;</a>
评论 #9743247 未加载
needcaffeine将近 10 年前
This is super cool. You know what I&#x27;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&#x27;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.<p>Thanks for this!
评论 #9742826 未加载
gouggoug将近 10 年前
Seems like an awesome tool.<p>As a side note, however, I would recommend anybody to not blindly apply the &quot;Tuning&quot; 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.
评论 #9741653 未加载
suchitpuri将近 10 年前
I have been using VCR , <a href="http:&#x2F;&#x2F;www.relishapp.com&#x2F;vcr&#x2F;vcr&#x2F;docs" rel="nofollow">http:&#x2F;&#x2F;www.relishapp.com&#x2F;vcr&#x2F;vcr&#x2F;docs</a> for long time. Though VCR is only applicable to ruby, rails project.<p>Gor looks promising
mrsirduke将近 10 年前
I took me a while to find gor, and it seems that there aren&#x27;t many tools for traffic duplication&#x2F;replication out there.<p>If you know of any tools like gor, I&#x27;d very much like to know of them.
评论 #9743335 未加载
评论 #9743408 未加载
LeonidBugaev将近 10 年前
Thanks for putting it to the HN, author here :)
room271将近 10 年前
I&#x27;ve used this and it&#x27;s great. Very easy to use and works.