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
IOSTAT2PCP(1)						       Performance Co-Pilot						     IOSTAT2PCP(1)

NAME
iostat2pcp - Import iostat data and create a PCP archive SYNOPSIS
iostat2pcp [-v] [-S start] [-t interval] [-Z timezone] infile outfile DESCRIPTION
iostat2pcp reads a text file created with iostat(1) (infile) and translates this into a Performance Co-Pilot (PCP) archive with the basename outfile. If infile is "-" then iostat2pcp reads for standard input, allowing easy preprocessing of the iostat(1) output with sed(1) or similar. The resultant PCP archive may be used with all the PCP client tools to graph subsets of the data using pmchart(1), perform data reduction and reporting, filter with the PCP inference engine pmie(1), etc. A series of physical files will be created with the prefix outfile. These are outfile.0 (the performance data), outfile.meta (the metadata that describes the performance data) and outfile.index (a temporal index to improve efficiency of replay operations for the archive). If any of these files exists already, then iostat2pcp will not overwrite them and will exit with an error message. The first output sample from iostat(1) contains a statistical summary since boot time and is ignored by iostat2pcp, so the first real data set is the second one in the iostat(1) output. The best results are obtained when iostat(1) was run with its own -t flag, so each output sample is prefixed with a timestamp. Even better is -t with $S_TIME_FORMAT=ISO set in environment when iostat(1) is run, in which case the timestamp includes the timezone. Note that if $S_TIME_FORMAT=ISO is not used with the -t option then iostat(1) may produce a timestamp controlled by LC_TIME from the locale that is in a format iostat2pcp cannot parse. The formats for the timestamp that iostat2pcp accepts are illustrated by these examples: 2013-07-06T21:34:39+1000 (for the $S_TIME_FORMAT=ISO). 2013-07-06 21:34:39 (for some of the European formats, e.g. de_AT, de_BE, de_LU and en_DK.utf8). 06/07/13 21:34:39 (for all of the $LC_TIME settings for English locales outside North America, e.g. en_AU, en_GB, en_IE, en_NZ, en_SG and en_ZA, and all the Spanish locales, e.g. es_ES, es_MX and es_AR). In particular, note that some common North American $LC_TIME settings will not work with iostat2pcp (namely, en_US, POSIX and C) because they use the MM/DD format which may be incorrectly converted with the assumed DD/MM format. This is another reason to recommend setting $S_TIME_FORMAT=ISO. If there are no timestamps in the input stream, iostat2pcp will try and deduce the sample interval if basic Disk data (-d option for iostat(1)) is found. If this fails, then the -t option may be used to specify the sample interval in seconds. This option is ignored if timestamps are found in the input stream. The -S option may be used to specify as start time for the first real sample in infile, where start must have the format HH:MM:SS. This option is ignored if timestamps are found in the input stream. The -Z option may be used to specify a timezone. It must have the format +HHMM (for hours and minutes East of UTC) or -HHMM (for hours and minutes West of UTC). Note in particular that neither the zoneinfo (aka Olson) format, e.g. Europe/Paris, nor the Posix TZ format, e.g. EST+5 is allowed for the -Z option. This option is ignored if ISO timestamps are found in the input stream. If the timezone is not specified and cannot be deduced, it defaults to "UTC". Some additional diagnostic output is generated with the -v option. iostat2pcp is a Perl script that uses the PCP::LogImport Perl wrapper around the PCP libpcp_import library, and as such could be used as an example to develop new tools to import other types of performance data and create PCP archives. CAVEAT
iostat2pcp requires infile to have been created by the version of iostat(1) from <http://freshmeat.net/projects/sysstat>. iostat2pcp handles the -c (CPU), -d (Disk), -x (eXtended Disk) and -p (Partition) report formats (including their -k, -m, -z and ALL variants), but does not accommodate the -n (Network Filesystem) report format from iostat(1); this is a demand-driven limitation rather than a technical limitation. SEE ALSO
Date::Format(3pm), Date::Parse(3pm), iostat(1), LOGIMPORT(3), PCP::LogImport(3pm), pmchart(1), pmie(1), pmlogger(1) and sed(1). 3.8.10 Performance Co-Pilot IOSTAT2PCP(1)
All times are GMT -4. The time now is 02:09 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy