From owner-freebsd-net@freebsd.org Fri Oct 19 23:23:44 2018 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A187BFEAF9A for ; Fri, 19 Oct 2018 23:23:44 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from hz.grosbein.net (hz.grosbein.net [IPv6:2a01:4f8:d12:604::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hz.grosbein.net", Issuer "hz.grosbein.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 27B3972579; Fri, 19 Oct 2018 23:23:43 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from eg.sd.rdtc.ru (eg.sd.rdtc.ru [IPv6:2a03:3100:c:13:0:0:0:5]) by hz.grosbein.net (8.15.2/8.15.2) with ESMTPS id w9JNNZNi079777 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 20 Oct 2018 01:23:36 +0200 (CEST) (envelope-from eugen@grosbein.net) X-Envelope-From: eugen@grosbein.net X-Envelope-To: lev@FreeBSD.org Received: from [10.58.0.4] ([10.58.0.4]) by eg.sd.rdtc.ru (8.15.2/8.15.2) with ESMTPS id w9JNNYRa034050 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Sat, 20 Oct 2018 06:23:34 +0700 (+07) (envelope-from eugen@grosbein.net) Subject: Re: What is best TCP throughput benchmarking tool? To: Lev Serebryakov , freebsd-net@freebsd.org References: <650aa1c7-26db-f463-cb59-8dfe1886c764@grosbein.net> <1743704969.20181019235034@serebryakov.spb.ru> <04f00191-78b8-6c9f-4b6b-fb11d10f91ea@grosbein.net> <876446461.20181020020328@serebryakov.spb.ru> From: Eugene Grosbein Message-ID: <78b23b34-7c47-30a1-4386-405ec90fa76d@grosbein.net> Date: Sat, 20 Oct 2018 06:23:29 +0700 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <876446461.20181020020328@serebryakov.spb.ru> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=0.3 required=5.0 tests=BAYES_00,LOCAL_FROM,SPF_PASS autolearn=no autolearn_force=no version=3.4.1 X-Spam-Report: * -2.3 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * -0.0 SPF_PASS SPF: sender matches SPF record * 2.6 LOCAL_FROM From my domains X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on hz.grosbein.net X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Oct 2018 23:23:44 -0000 20.10.2018 6:03, Lev Serebryakov wrote: >>>>> Please note, that I'm testing endpoint, not a router, so netmap-based >>>>> packet generators & receivers is no use for me, unfortunately. >>>> Try benchmarks/wrk. It works pretty well for speeds lower than 40Gbit/s >>>> but its version 4.0.2 had its own rough edges demanding a router between TCP endpoints. >>>> I have not tried its newer versions, though. >>> Looks like benchmark/wrk is HTTP benchmark, opposite to what I need... >> Together with nginx, wrk can serve as quick TCP traffic generator/receiver. >> I've used them in 40G environment with success. > To be honest, I don't want to run nginx on both ends (and I need to test > both directions) and it is hard to control time of one connection (by > sending file size?) and monitor speed in test progress... You do not need to micro-control this. The wrk provides you with nice stats plus you have counters of "systat -ifstat 1" during long test. > All these tools — wrk, nginx — are optimized for many concurrent > connections on powerful hardware and looks like overkill to test one > connection bandwidth on Atom CPU. You can choose number of concurrent connections yourself while running wrk. > BTW, how to configure nginx to server 16G+ file without any disk access? > One big hole on tmpfs? :) You do not need large disk file in case of wrk+nginx. Make small-sized tmpfs with single several megabytes-sized file, and that's all.