Filip,
The alignment histogram for reads and writes illustrates the relative percentage of operations with respect to the 512-byte boundaries within a 4k WAFL block. What we expect to see, for properly partitioned host file systems, is all reads and writes falling into "bucket" zero: :read_align_histo.0 ... :write_align_histo.0
In addition to that, an individual I/O is either counted in one of the eight buckets OR it gets counted as partial: :read_partial_blocks: :write_partial_blocks:
In other words, a single I/O into the LUN is either working on full 4k blocks and getting accounted for in the 0-7 buckets ... or it's doing I/O less than 4k and getting accounted for as "partial".
Given that you are seeing most of your writes and reads falling into bucket 7 ... it's probably due to an incorrect starting offset ... or possibly and extended partition?
-- errol
-----Original Message----- From: Filip Sneppe [mailto:filip.sneppe@gmail.com] Sent: Wednesday, February 04, 2009 9:52 AM To: NetApp list Subject: read_align_histo.XX/write_align_histo.XX output from stats command
Hi,
This article:
https://now.netapp.com/Knowledgebase/solutionarea.asp?id=kb24492
talks about troublshooting LUN alignment issues. It mentions some statistics one can get from the stats command. Does anyone know how to interpret these, eg.:
lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:read_align_histo.0 :5% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:read_align_histo.1 :0% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:read_align_histo.2 :0% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:read_align_histo.3 :0% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:read_align_histo.4 :0% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:read_align_histo.5 :0% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:read_align_histo.6 :0% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:read_align_histo.7 :81% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:write_align_histo. 0:2% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:write_align_histo. 1:0% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:write_align_histo. 2:0% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:write_align_histo. 3:0% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:write_align_histo. 4:0% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:write_align_histo. 5:0% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:write_align_histo. 6:0% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:write_align_histo. 7:70% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:read_partial_block s:13% lun:/vol/esx_lun_data1/luns/esx_lun1.lun-P3NsiJNHOSbN:write_partial_bloc ks:24%
How does one interpret the various *_align_histo.* counters ?
Regards, Filip