From owner-freebsd-fs@freebsd.org Wed Aug 10 09:54:05 2016 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0FCB3BB2D78 for ; Wed, 10 Aug 2016 09:54:05 +0000 (UTC) (envelope-from ben.rubson@gmail.com) Received: from mail-wm0-x232.google.com (mail-wm0-x232.google.com [IPv6:2a00:1450:400c:c09::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9B4401EED for ; Wed, 10 Aug 2016 09:54:04 +0000 (UTC) (envelope-from ben.rubson@gmail.com) Received: by mail-wm0-x232.google.com with SMTP id o80so91611754wme.1 for ; Wed, 10 Aug 2016 02:54:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:content-transfer-encoding:subject:message-id:date:to :mime-version; bh=oiQpw6lRIAQXHSdwBIfrXSy9SiFXjMOK1hgvIKwQEpU=; b=R3aL3CdiKTIkBPw9N1z1JlFJshoNTNOwDygB6/Q4dIUD/KgHFqQiEClZ9nww2Dg4Yp tGforq7JPqClblImke+ZGAuBN1TpUOOPDClOeGUbpLPtEz/TSi7AkzO7UZBtd/25zgtr jyO4I36tg7K2y6zMM0dYS76HnLzhk4MPXrZOSVwDVcvzczPXUChdl0bUu4V9o/sFnIo5 Hc5RryOSx/i2ryYhi9NRrQ64rkFxl3fvIXFbU12hxSLt7a052GN6filRooEqaOZOoOVq NjsMM7xpVJ1x9bn78mnpl9Z83kvkJOiBK6kjRaFm6Hb/P8JYmkTmSa1wMOsRqdnQ7rQE cKKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:content-transfer-encoding:subject :message-id:date:to:mime-version; bh=oiQpw6lRIAQXHSdwBIfrXSy9SiFXjMOK1hgvIKwQEpU=; b=TuG4Ps2oTMg5UmDNxzQJANcII8IbZD756DFl35L8jNF9BhINk/8mW4xMz5J9vEFjXg RfnVwapdHJ1BFTRyHzSNsC7p7FWufujVCDFmMqPV3WxV5/L6SSn28bTvIo4LeeSknZ6S OAp0yPPFrohoGMvthCATNwzlUzrrYIFn1JPgdCh6eKun4aQ/X5p4hrPhqSR/TFp1gYxy Wdz7CdyIZrAl5tTP1dNEyx0lEBb3E4Fnw2qbUytTBSop/l2g3lmBw+BNWGPbs+laPLz7 jqcB6nyEqb6Vy67BwlqUxYs8mxZnUxPN2Jinw1vm8LzS0LsLcZagl5Z/PcWpLwgRfY9K ei5w== X-Gm-Message-State: AEkoouspKUzhJphC3bjsNkKps4pPKyGH8QwUtB9VmttIcs8wos4cEmGnf5C8GmjypLlaKg== X-Received: by 10.194.70.68 with SMTP id k4mr3822797wju.59.1470822842860; Wed, 10 Aug 2016 02:54:02 -0700 (PDT) Received: from macbook-air-de-benjamin-1.home (LFbn-1-7077-85.w90-116.abo.wanadoo.fr. [90.116.246.85]) by smtp.gmail.com with ESMTPSA id xa2sm42204996wjc.0.2016.08.10.02.54.01 for (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 10 Aug 2016 02:54:02 -0700 (PDT) From: Ben RUBSON Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: [iSCSI] Trying to reach max disk throughput Message-Id: <6B32251D-49B4-4E61-A5E8-08013B15C82B@gmail.com> Date: Wed, 10 Aug 2016 11:54:01 +0200 To: freebsd-fs@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) X-Mailer: Apple Mail (2.3124) X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Aug 2016 09:54:05 -0000 Hello, I'm facing something strange with iSCSI, I can't manage to reach the = expected disk throughput using one (read or write) thread. ### Target : local disk throughput, one thread : # dd if=3D/dev/da8 of=3D/dev/null bs=3D$((128*1024)) count=3D81920 10737418240 bytes transferred in 22.127838 secs (485244798 bytes/sec) - = 462MB/s ### Initiator : network throughput to target, one thread : # iperf -c 192.168.2.2 -t 30 -i 5 -P 1 -l 128KB [ ID] Interval Transfer Bandwidth [ 3] 0.0- 5.0 sec 19.5 GBytes 33.5 Gbits/sec [ 3] 5.0-10.0 sec 19.7 GBytes 33.9 Gbits/sec [ 3] 10.0-15.0 sec 19.6 GBytes 33.6 Gbits/sec [ 3] 15.0-20.0 sec 19.6 GBytes 33.7 Gbits/sec [ 3] 20.0-25.0 sec 19.8 GBytes 34.0 Gbits/sec [ 3] 25.0-30.0 sec 19.9 GBytes 34.2 Gbits/sec ### Initiator : network latency to target : # ping -c 10 192.168.2.2=20 64 bytes from 192.168.2.2: icmp_seq=3D0 ttl=3D64 time=3D0.025 ms 64 bytes from 192.168.2.2: icmp_seq=3D1 ttl=3D64 time=3D0.024 ms 64 bytes from 192.168.2.2: icmp_seq=3D2 ttl=3D64 time=3D0.027 ms 64 bytes from 192.168.2.2: icmp_seq=3D3 ttl=3D64 time=3D0.021 ms 64 bytes from 192.168.2.2: icmp_seq=3D4 ttl=3D64 time=3D0.020 ms 64 bytes from 192.168.2.2: icmp_seq=3D5 ttl=3D64 time=3D0.025 ms 64 bytes from 192.168.2.2: icmp_seq=3D6 ttl=3D64 time=3D0.022 ms 64 bytes from 192.168.2.2: icmp_seq=3D7 ttl=3D64 time=3D0.020 ms 64 bytes from 192.168.2.2: icmp_seq=3D8 ttl=3D64 time=3D0.022 ms 64 bytes from 192.168.2.2: icmp_seq=3D9 ttl=3D64 time=3D0.023 ms round-trip min/avg/max/stddev =3D 0.020/0.023/0.027/0.002 ms ### Initiator : iscsi disk throughput : ## dd if=3D/dev/da8 of=3D/dev/null bs=3D$((128*1024)) count=3D81920 10737418240 bytes transferred in 34.731815 secs (309152234 bytes/sec) - = 295MB/s With 2 parallel dd jobs : 345MB/s With 4 parallel dd jobs : 502MB/s ### Questions : Why such a difference ? Where are the 167MB/s (462-295) lost ? All CPUs, on both sides, are above 90% idle during these tests. I tried to increase net.inet.tcp.sendbuf_max, net.inet.tcp.recvbuf_max. I also increased SOCKBUF_SIZE in iscsid.h and ctld.h. And tried HTCP as the TCP algorithm. But with no chance. Any idea ? Many thanks ! Ben