From owner-freebsd-stable@freebsd.org Wed Jun 20 17:35:12 2018 Return-Path: Delivered-To: freebsd-stable@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 904E91025DAD for ; Wed, 20 Jun 2018 17:35:12 +0000 (UTC) (envelope-from SRS0=2bF4=JG=quip.cz=000.fbsd@elsa.codelab.cz) Received: from elsa.codelab.cz (elsa.codelab.cz [94.124.105.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 16BFD86D9C for ; Wed, 20 Jun 2018 17:35:11 +0000 (UTC) (envelope-from SRS0=2bF4=JG=quip.cz=000.fbsd@elsa.codelab.cz) Received: from elsa.codelab.cz (localhost [127.0.0.1]) by elsa.codelab.cz (Postfix) with ESMTP id 7DA7928416; Wed, 20 Jun 2018 19:35:10 +0200 (CEST) Received: from illbsd.quip.test (ip-86-49-16-209.net.upcbroadband.cz [86.49.16.209]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by elsa.codelab.cz (Postfix) with ESMTPSA id EC39A2840C; Wed, 20 Jun 2018 19:35:08 +0200 (CEST) Subject: Re: iostat busy value calculation To: Holger Kipp Cc: "freebsd-stable@freebsd.org" References: <98c4156c-d2f0-f0c6-b859-9cea8ec29a42@quip.cz> <5765F5AE-131A-4F2F-8C46-9E362611CDA1@alogis.com> From: Miroslav Lachman <000.fbsd@quip.cz> Message-ID: Date: Wed, 20 Jun 2018 19:35:08 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.3 MIME-Version: 1.0 In-Reply-To: <5765F5AE-131A-4F2F-8C46-9E362611CDA1@alogis.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jun 2018 17:35:12 -0000 Holger Kipp wrote on 2018/06/20 17:37: > Dear Miroslav, > > looking at the manpage for iostat I see: > > %b % of time the device had one or more outstanding transactions > tsvc_t/i > total duration of transactions per time period, in seconds > sb/i total time the device had one or more outstanding transac- > tions per time period, in seconds > > So calculating the percentage using sb/i should be fairly easy. If I understand it correctly, then it cannot be calculated from numbers between two independent runs of "iostat -I -x" because it gives me sb/i average from the boot time, so the calculated %b will be overall average instead of average between two runs after 60 seconds. The only possible way to calculated is to run "iostat -I -x -c 2 -w 60" where the sb/i value of the second line will be average of these last 60 seconds. But it also means monitoring probe will wait 60 seconds to get this value (each time) so it is the same problem as I described in my original post with "iostat -x". Miroslav Lachman > Am 20.06.2018 um 16:55 schrieb Miroslav Lachman <000.fbsd@quip.cz>: > > I would like to know how the value of disk "busy" is calculated? > > I want to use values from iostat in the monitoring (zabbix). > iostat shows averages by default and the last column is "busy %", but the first output contains averages from the system boot til now. > > # iostat -x -t da > extended device statistics > device r/s w/s kr/s kw/s qlen svc_t %b > ada0 2.5 13.8 49.0 287.9 0 45.7 2 > ada1 2.6 13.8 51.7 287.9 0 39.6 2 > > I don't want to use "iostat -x -t da -w 20" to get averages of the last 20 seconds because it means monitoring needs to wait 20 seconds on each run. > > I can use absolute values from iostat. This output is without any delay and the monitoring SW can calculate averages between two runs. But the last column is no busy %, it is sb/i. > > # iostat -I -x -t da > extended device statistics > device r/i w/i kr/i kw/i qlen tsvc_t/i sb/i > ada0 7403218.0 40825749.0 144647824.0 849655694.0 0 2204904.2 73121.8 > ada1 7537423.0 40825749.0 152643874.5 849655694.0 0 1914301.0 69996.5 > > So the question is - If I want to plot "busy %" in the graph - how the "busy" value in the first example is calculated? > Is it possible to calculate it from the numbers that I have from "iostat -I -x" and the know time interval between two runs?