Sponsored Content
Special Forums Hardware Filesystems, Disks and Memory iostat output vs TPC output (array layer) Post 302517648 by DGPickett on Wednesday 27th of April 2011 11:17:56 AM
Old 04-27-2011
The SAN adds latency, which can be a problem for things like RDBMS commit where files are sync'd to media. Sometimes they just pretend it is on oxide and rely on battery backup, which might be OK, but be aware.

You can flow a lot of data per second in and out, but random might be a problem unless RAM cached. Some apps get more RAM caching by using mmap()/mmap64() to map files to VM -- no swap hit, just RAM or page fault to disk, which is how most OS do dynamic libraries and some OS have started doing this in kernel caching and inside standard library calls for all I/O. Huge random sets traversed once still run slow and waste RAM in the bargain, never mind SAN cache. If you have such latency problems, you may want to put those files on some sort of more local volume, even SSM. One way to have SAN backup is to have a hierarchical bit like the Sun ClientFS that backs all modified pages on the local disk to the SAN, using the local disk as a intermediate level cache. This handles larger volumes than most RAM budgets with less worry about right sizing, since you cannot run out of space on the local disk. The SAN load of backing it up can be tuned, so you do not have to write the same page twice if it gets only two mods close together.


However, while this solves random woes, for RDBMS commit sync, you may want either:
  • a solid (not cache) local allocation (mirrored on two controllers, not RAIDN) striped fast disk or SSM for speed or
  • to take the hit on sync to SAN, for low churn very random sets.
Luckily, many OS and RDBMS utilities, turned on or frequently applied, can optimize things so they are more often serial in a fast way, like range scans in an index or table scans in smaller tables. Be careful to apply them in the right order, as one might undo the other. Usually, RDBMS are on raw partitions, so there is no conflict; you just need to do both OS utilities for the non-raw and RDBMS utilities for their files/partitions. As I said, tricks like the APPEND table, or similar physical keying, ensure no holes and no churn of old pages, immediately or once defragged.
 

10 More Discussions You Might Find Interesting

1. Solaris

iostat -e / -E output explanation

Hi all, hope you are having a nice day, its nice and warm today in Canberra Australia. iostat -e / -E reports soft and hard errors. Any idea what these are exactly? All I hear are I/O's failing and needing to retry, but no cause as to why they fail. My SUN guru tells me its our EMC SAN... (1 Reply)
Discussion started by: scottman
1 Replies

2. UNIX for Advanced & Expert Users

iostat output what is that mean

Hi all, i have run iostat -em, and get below result. Can i know what is this output meaning, and how to fix that problem. iostat -em ---- errors --- device s/w h/w trn tot sd7 0 1 0 1 sd8 1 1 0 2 sd9 0 1 0 1 sd10 0 ... (2 Replies)
Discussion started by: foongkt5220
2 Replies

3. Shell Programming and Scripting

output of an array

Hi gurus, I need to set up an array like this set - A arr 'A', 'B' The output of this array should be like this 'A','B' Right now, I get the output like this 'A B' Can anyone suggest me on how to achieve this. thanks (3 Replies)
Discussion started by: ragha81
3 Replies

4. Shell Programming and Scripting

Formatting output from iostat

So I use Cacti for monitoring IO statistics on my servers, now originally I couldnt monitor Multipath deviced servers as they have alot of /dev/sdxx and /dev/emcpowerxx, I have devised a method of trimming them down to just the actual devices but the issue is the output looks like so. # iostat... (0 Replies)
Discussion started by: RiSk
0 Replies

5. Shell Programming and Scripting

finding greatest value in a column using awk from iostat output in linux

Friends, . On linux i have to run iostat command and in each iteration have to print the greatest value in each column. e.g iostat -dt -kx 2 2 | awk ' !/sd/ &&!/%util/ && !/Time/ && !/Linux/ {print $12}' 4.38 0.00 0.00 0.00 What i would like to print is only the... (3 Replies)
Discussion started by: achak01
3 Replies

6. Shell Programming and Scripting

finding greatest value in a column using awk from iostat output in linux

Friends, Need some help. On linux i have to run iostat command and in each iteration have to print the greatest value in each column. e.g iostat -dt -kx 2 2 | awk ' !/sd/ &&!/%util/ && !/Time/ && !/Linux/ {print $12}' 4.38 0.00 0.00 0.00 WHhat i would like to... (15 Replies)
Discussion started by: achak01
15 Replies

7. Solaris

Unmatched ssd create huge unuseful iostat output

My scheduled collection of statistics is giving very large output because of an high number of ssd device not associated to any disk The iostat -x command is collecting statistics from them and the output is very large. I.g. if a run iostat -x|tail +3|awk '{print $1}'>f0.txt.$$ iostat... (5 Replies)
Discussion started by: sun-mik
5 Replies

8. Solaris

Asvc_t values in iostat output

Noticed that asvc_t values in iostat command outputs are mostly more than 100 in our previous iostat analysis. Also found the following detail from an alternate site IO Bottleneck - Disk performance issue - UnixArena ---- 1. asvc_t average service time of active transactions, in... (2 Replies)
Discussion started by: saraperu
2 Replies

9. Shell Programming and Scripting

Need help to get the parsed output of "iostat" command

Hi, I have a requirement where parsed output from various linux commands like top, netstat, iostat, etc. will be the input for one javascript with the parsed output from these commands converted to JSON format For "iostat" command, since there are two outputs - one w.r.t CPU utilization and... (2 Replies)
Discussion started by: gopivallabha
2 Replies

10. Shell Programming and Scripting

Need help to parse iostat command output

Hi, I got the code below is one of the threads from this forum. lineCount=$(iostat | wc -l) numDevices=$(expr $lineCount - 7); iostat $interval -x -t | awk -v awkCpuFile=$cpuFile -v awkDeviceFile=$deviceFile -v awkNumDevices=$numDevices ' BEGIN { print... (2 Replies)
Discussion started by: gopivallabha
2 Replies
IOSTAT(8)						    BSD System Manager's Manual 						 IOSTAT(8)

NAME
iostat -- report I/O statistics SYNOPSIS
iostat [-CdhIKoTxz?] [-c count] [-M core] [-n devs] [-N system] [-t type,if,pass] [-w wait] [drives] DESCRIPTION
The iostat utility displays kernel I/O statistics on terminal, device and cpu operations. The first statistics that are printed are averaged over the system uptime. To get information about the current activity, a suitable wait time should be specified, so that the subsequent sets of printed statistics will be averaged over that time. The options are as follows: -c Repeat the display count times. If no repeat count is specified, the default depends on whether -w is specified. With -w the default repeat count is infinity, otherwise it is 1. -C Display CPU statistics. This is on by default, unless -d or -x is specified. -d Display only device statistics. If this flag is turned on, only device statistics will be displayed, unless -C or -T is also specified to enable the display of CPU or TTY statistics. -h Put iostat in 'top' mode. In this mode, iostat will show devices in order from highest to lowest bytes per measurement cycle. -I Display total statistics for a given time period, rather than average statistics for each second during that time period. -K In the blocks transferred display (-o), display block count in kilobytes rather then the device native block size. -M Extract values associated with the name list from the specified core instead of the default ``/dev/kmem''. -n Display up to devs number of devices. The iostat utility will display fewer devices if there are not devs devices present. -N Extract the name list from the specified system instead of the default ``/boot/kernel/kernel''. -o Display old-style iostat device statistics. Sectors per second, transfers per second, and milliseconds per seek are displayed. If -I is specified, total blocks/sectors, total transfers, and milliseconds per seek are displayed. -t Specify which types of devices to display. There are three different categories of devices: device type: da Direct Access devices sa Sequential Access devices printer Printers proc Processor devices worm Write Once Read Multiple devices cd CD devices scanner Scanner devices optical Optical Memory devices changer Medium Changer devices comm Communication devices array Storage Array devices enclosure Enclosure Services devices floppy Floppy devices interface: IDE Integrated Drive Electronics devices SCSI Small Computer System Interface devices other Any other device interface passthrough: pass Passthrough devices The user must specify at least one device type, and may specify at most one device type from each category. Multiple device types in a single device type statement must be separated by commas. Any number of -t arguments may be specified on the command line. All -t arguments are ORed together to form a matching expression against which all devices in the system are compared. Any device that fully matches any -t argument will be included in the iostat output, up to the number of devices that can be displayed in 80 columns, or the maximum number of devices specified by the user. -T Display TTY statistics. This is on by default, unless -d or -x is specified. -w Pause wait seconds between each display. If no wait interval is specified, the default is 1 second. The iostat command will accept and honor a non-integer number of seconds. Note that the interval only has millisecond granularity. Finer values will be truncated. E.g., ``-w1.0001'' is the same as ``-w1.000''. The interval will also suffer from modifications to kern.hz so your mileage may vary. -x Show extended disk statistics. Each disk is displayed on a line of its own with all available statistics. If this flag is turned on, only disk statistics will be displayed, unless -C or -T is also specified to enable the display of CPU or TTY statistics. -z If -x is specified, omit lines for devices with no activity. -? Display a usage statement and exit. The iostat utility displays its information in the following format: tty tin characters read from terminals tout characters written to terminals devices Device operations. The header of the field is the device name and unit number. The iostat utility will display as many devices as will fit in a standard 80 column screen, or the maximum number of devices in the system, whichever is smaller. If -n is specified on the command line, iostat will display the smaller of the requested number of devices, and the maximum number of devices in the system. To force iostat to display specific drives, their names may be supplied on the command line. The iostat utility will not display more devices than will fit in an 80 column screen, unless the -n argument is given on the command line to specify a maximum number of devices to display. If fewer devices are specified on the command line than will fit in an 80 column screen, iostat will show only the specified devices. The standard iostat device display shows the following statistics: KB/t kilobytes per transfer tps transfers per second MB/s megabytes per second The standard iostat device display, with the -I flag specified, shows the following statistics: KB/t kilobytes per transfer xfrs total number of transfers MB total number of megabytes transferred The extended iostat device display, with the -x flag specified, shows the following statistics: r/s read operations per second w/s write operations per second kr/s kilobytes read per second kw/s kilobytes write per second qlen transactions queue length svc_t average duration of transactions, in milliseconds %b % of time the device had one or more outstanding transactions The extended iostat device display, with the -x and -I flags specified, shows the following statistics: r/i read operations per time period w/i write operations per time period kr/i kilobytes read per time period kw/i kilobytes write per time period qlen transactions queue length tsvc_t/i total duration of transactions per time period, in seconds sb/i total time the device had one or more outstanding transactions per time period, in seconds The old-style iostat display (using -o) shows the following statistics: sps sectors transferred per second tps transfers per second msps average milliseconds per transaction The old-style iostat display, with the -I flag specified, shows the following statistics: blk total blocks/sectors transferred xfr total transfers msps average milliseconds per transaction cpu us % of cpu time in user mode ni % of cpu time in user mode running niced processes sy % of cpu time in system mode in % of cpu time in interrupt mode id % of cpu time in idle mode FILES
/boot/kernel/kernel Default kernel namelist. /dev/kmem Default memory file. EXAMPLES
iostat -w 1 da0 da1 cd0 Display statistics for the first two Direct Access devices and the first CDROM device every second ad infinitum. iostat -c 2 Display the statistics for the first four devices in the system twice, with a one second display interval. iostat -t da -t cd -w 1 Display statistics for all CDROM and Direct Access devices every second ad infinitum. iostat -t da,scsi,pass -t cd,scsi,pass Display statistics once for all SCSI passthrough devices that provide access to either Direct Access or CDROM devices. iostat -h -n 8 -w 1 Display up to 8 devices with the most I/O every second ad infinitum. iostat -dh -t da -w 1 Omit the TTY and CPU displays, show devices in order of performance and show only Direct Access devices every second ad infinitum. iostat -Iw 3 Display total statistics every three seconds ad infinitum. iostat -odICTw 2 -c 9 Display total statistics using the old-style output format 9 times, with a two second interval between each measurement/display. The -d flag generally disables the TTY and CPU displays, but since the -T and -C flags are given, the TTY and CPU displays will be displayed. SEE ALSO
fstat(1), netstat(1), nfsstat(1), ps(1), systat(1), devstat(3), gstat(8), pstat(8), vmstat(8) The sections starting with ``Interpreting system activity'' in Installing and Operating 4.3BSD. HISTORY
This version of iostat first appeared in FreeBSD 3.0. AUTHORS
Kenneth Merry <ken@FreeBSD.org> BUGS
The use of iostat as a debugging tool for crash dumps is probably limited because there is currently no way to get statistics that only cover the time immediately before the crash. BSD
December 15, 2012 BSD
All times are GMT -4. The time now is 01:27 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy