Home > Oracle, Performance > filesystemio_options behaviour

filesystemio_options behaviour


I was just testing the filesystemio_options impact on unix (Sun SPARC Solaris) side. I just traced the Oracle DB Writer process in OS level ( truss) and below is the output with different options.

Option 1 : ASYNC

/112: lwp_park(0x00000000, 0) (sleeping…)
/190: 553.8607 pwrite(261, “02A2C1 eBC01 LA8E4”.., 8192, 0x2CB78000) = 8192
/1: 553.8615 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/1: 553.8616 kaio(AIOWAIT, 0xFFFFFFFFFFFFFFFF) Err#22 EINVAL
/190: 553.8615 kaio(AIONOTIFY, 0) = 0
/191: 553.8727 pwrite(261, “02A2C1 eBD01 LA8E4”.., 8192, 0x2CB7A000) = 8192
/191: 553.8735 kaio(AIONOTIFY, 0) = 0
/1: 553.8735 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/1: 553.8736 kaio(AIOWAIT, 0xFFFFFFFFFFFFFFFF) Err#22 EINVAL
/113: lwp_park(0x00000000, 0) (sleeping…)
/192: 553.8814 pwrite(261, “02A2C1 eBE01 LA8E4”.., 8192, 0x2CB7C000) = 8192
/192: 553.8821 kaio(AIONOTIFY, 0) = 0
/1: 553.8823 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/1: 553.8824 kaio(AIOWAIT, 0xFFFFFFFFFFFFFFFF) Err#22 EINVAL
/195: 553.8877 pwrite(261, “02A2C1 eC101 LA8E4”.., 8192, 0x2CB82000) = 8192
/195: 553.8883 kaio(AIONOTIFY, 0) = 0
/1: 553.8884 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/1: 553.8885 kaio(AIOWAIT, 0xFFFFFFFFFFFFFFFF) Err#22 EINVAL
/114: lwp_park(0x00000000, 0) (sleeping…)
/193: 553.8995 pwrite(261, “02A2C1 eBF01 LA8E4”.., 8192, 0x2CB7E000) = 8192
/193: 553.9002 kaio(AIONOTIFY, 0) = 0
/1: 553.9003 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/1: 553.9004 kaio(AIOWAIT, 0xFFFFFFFFFFFFFFFF) Err#22 EINVAL
/197: 553.9096 pwrite(261, “02A2C1 eC301 LA8E4”.., 8192, 0x2CB86000) = 8192
/197: 553.9103 kaio(AIONOTIFY, 0) = 0
/1: 553.9103 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/1: 553.9105 kaio(AIOWAIT, 0xFFFFFFFFFFFFFFFF) Err#22 EINVAL
/115: lwp_park(0x00000000, 0) (sleeping…)
/194: 553.9175 pwrite(261, “02A2C1 eC001 LA8E4”.., 8192, 0x2CB80000) = 8192
/194: 553.9182 kaio(AIONOTIFY, 0) = 0
/1: 553.9183 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/1: 553.9184 kaio(AIOWAIT, 0xFFFFFFFFFFFFFFFF) Err#22 EINVAL
/116: lwp_park(0x00000000, 0) (sleeping…)
/196: 553.9275 pwrite(261, “02A2C1 eC201 LA8E4”.., 8192, 0x2CB84000) = 8192
/196: 553.9283 kaio(AIONOTIFY, 0) = 0
/1: 553.9283 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/1: 553.9285 kaio(AIOWAIT, 0xFFFFFFFFFFFFFFFF) Err#22 EINVAL

Option 2 : DIRECTIO

71.6076 semctl(50331721, 14, SETVAL, 1) = 0
71.6539 pwrite(261, “02A2C0 d “01 M06 w”.., 450560, 0x0C844000) = 450560
71.6782 pwrite(262, “06A20106 Z01 M06A0”.., 40960, 13320192) = 40960
71.7001 pwrite(262, “06A2010198 z01 M06B2”.., 8192, 0x330F4000) = 8192
71.7494 pwrite(262, “06A20101988A01 M06CB”.., 8192, 0x33114000) = 8192
71.8791 semtimedop(50331721, 0xFFFFFFFF7FFFD9D4, 1, 0xFFFFFFFF7FFFD9C0) = 0
71.9320 pwrite(261, “02A2C0 d Y01 M06B8”.., 393216, 0x0C8B2000) = 393216
71.9704 pwrite(261, “02A2C0 n\t01 M06F2”.., 385024, 0x0DC12000) = 385024
72.0286 pwrite(262, “06A20106 _01 M06C1”.., 139264, 13361152) = 139264
72.0394 pwrite(262, “06A20106 r01 M07 72.0571 pwrite(262, “06A20106 t01 M07 J”.., 8192, 13533184) = 8192
72.0771 pwrite(262, “06A20106 v01 M07 X”.., 49152, 13549568) = 49152
72.0938 pwrite(262, “06A20101989A01 M06E6”.., 8192, 0x33134000) = 8192
72.1623 pwrite(262, “06A2010198AA01 M06FD”.., 8192, 0x33154000) = 8192
72.2000 pwrite(262, “06A2010198BA01 M0716”.., 8192, 0x33174000) = 8192
72.3954 pwrite(261, “02A2C0 n 801 M07 *”.., 458752, 0x0DC70000) = 458752
72.4294 pwrite(262, “06A20106 p01 M07 .”.., 16384, 13500416) = 16384
72.4597 pwrite(262, “06A20106 s01 M07 B”.., 8192, 13524992) = 8192
72.5014 pwrite(262, “06A20106 u01 M07 Q”.., 8192, 13541376) = 8192
72.5483 pwrite(262, “06A201070301 M07 +”.., 8192, 14704640) = 8192
72.5984 pwrite(262, “06A2010198EA01 M07 f”.., 8192, 0x331D4000) = 8192
72.6230 pwrite(262, “06A2010198FA01 M077F”.., 8192, 0x331F4000) = 8192
72.6241 times(0xFFFFFFFF7FFFDCE0) = 1978200767
72.6243 times(0xFFFFFFFF7FFFDCE0) = 1978200767
72.7637 pwrite(261, “02A2C0 n p01 M07 l”.., 204800, 0x0DCE0000) = 204800
72.8358 pwrite(261, “02A2C0 v8901 M0789”.., 237568, 0x0ED12000) = 237568
72.8629 pwrite(262, “06A20106 |01 M0783”.., 65536, 13598720) = 65536
72.8850 pwrite(262, “06A2010198\v01 M0797”.., 8192, 0x33016000) = 8192
72.8944 pwrite(262, “06A2010198 j01 M0699”.., 24576, 0x330D4000) = 24576
72.9100 pwrite(262, “06A2010198DA01 M07 O”.., 24576, 0x331B4000) = 24576
72.9691 pwrite(261, “02A2C0 vA601 M07AC”.., 417792, 0x0ED4C000) = 417792
72.9939 pwrite(262, “06A201068401 M07BC”.., 40960, 13664256) = 40960
73.0129 pwrite(262, “06A201068B01 M07DF”.., 24576, 13721600) = 24576
73.0305 pwrite(262, “06A2010198 ;01 M07E2”.., 8192, 0x33076000) = 8192
73.0482 pwrite(262, “06A2010198 K01 M07FB”.., 8192, 0x33096000) = 8192
73.0990 pwrite(261, “02A2C0 vD901 M07E9”.., 393216, 0x0EDB2000) = 393216
73.1221 pwrite(261, “02A2C281A901 M\b !”.., 40960, 0x50352000) = 40960

Option 3 : SETALL

/128: lwp_park(0x00000000, 0) (sleeping…)
/170: 19782367.4384 pwrite(261, “02A2C0 s9201 M `93”.., 8192, 0x0E724000) = 8192
/170: 19782367.4390 kaio(AIONOTIFY, 0) = 0
/1: 19782367.4391 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/1: 19782367.4393 kaio(AIOWAIT, 0xFFFFFFFFFFFFFFFF) Err#22 EINVAL
/171: 19782367.4504 pwrite(261, “02A2C0 s9301 M `94”.., 8192, 0x0E726000) = 8192
/171: 19782367.4513 kaio(AIONOTIFY, 0) = 0
/1: 19782367.4517 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/129: lwp_park(0x00000000, 0) (sleeping…)
/173: 19782367.4604 pwrite(261, “02A2C0 s9501 M `97”.., 8192, 0x0E72A000) = 8192
/1: 19782367.4612 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/1: 19782367.4616 kaio(AIOWAIT, 0xFFFFFFFFFFFFFFFF) Err#22 EINVAL
/173: 19782367.4611 kaio(AIONOTIFY, 0) = 0
/172: 19782367.4722 pwrite(261, “02A2C0 s9401 M `95”.., 8192, 0x0E728000) = 8192
/172: 19782367.4730 kaio(AIONOTIFY, 0) = 0
/1: 19782367.4732 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/174: 19782367.4782 pwrite(261, “02A2C0 s9601 M `98”.., 8192, 0x0E72C000) = 8192
/174: 19782367.4788 kaio(AIONOTIFY, 0) = 0
/1: 19782367.4788 kaio(AIOWAIT, 0xFFFFFFFF7FFFD990) = 1
/1: 19782367.4791 kaio(AIOWAIT, 0xFFFFFFFFFFFFFFFF) Err#22 EINVAL
/23: lwp_park(0x00000000, 0) (sleeping…)
^C/22: 19782367.6826 pwrite(261, “02A2C0 sAB01 M `B0”.., 8192, 0x0E756000) = 8192
/21: 19782367.6765 pwrite(261, “02A2C0 sAA01 M `AF”.., 8192, 0x0E754000) = 8192
/19: 19782367.6607 pwrite(261, “02A2C0 sA801 M `AD”.., 8192, 0x0E750000) = 8192
/7: 19782367.5669 pwrite(261, “02A2C0 s9F01 M `A2”.., 8192, 0x0E73E000) = 8192
/9: 19782367.5787 pwrite(261, “02A2C0 sA001 M `A4”.., 8192, 0x0E740000) = 8192
/11: 19782367.5908 pwrite(261, “02A2C0 sA101 M `A5”.., 8192, 0x0E742000) = 8192
/13: 19782367.6027 pwrite(261, “02A2C0 sA201 M `A6”.., 8192, 0x0E744000) = 8192
/15: 19782367.6149 pwrite(261, “02A2C0 sA401 M `A8”.., 8192, 0x0E748000) = 8192
/17: 19782367.6348 pwrite(261, “02A2C0 sA601 M `AB”.., 8192, 0x0E74C000) = 8192
/181: 19782367.5427 pwrite(261, “02A2C0 s9D01 M `A0”.., 8192, 0x0E73A000) = 8192
/177: 19782367.4965 pwrite(261, “02A2C0 s9901 M `9B”.., 8192, 0x0E732000) = 8192
/179: 19782367.5166 pwrite(261, “02A2C0 s9B01 M `9E”.., 8192, 0x0E736000) = 8192
/176: 19782367.4904 pwrite(261, “02A2C0 s9801 M `9A”.., 8192, 0x0E730000) = 8192
/175: 19782367.4843 pwrite(261, “02A2C0 s9701 M `99”.., 8192, 0x0E72E000) = 8192
/178: 19782367.5105 pwrite(261, “02A2C0 s9A01 M `9D”.., 8192, 0x0E734000) = 8192

Option 4: NONE

38.2015 times(0xFFFFFFFF7FFFDCE0) = 1978241955
38.2016 times(0xFFFFFFFF7FFFDCE0) = 1978241955
38.3320 pwrite(261, “02A2C0 aF701 MCACE”.., 147456, 0x0C3EE000) = 147456
38.3915 pwrite(261, “02A2C0 e\t01 MCAE3”.., 376832, 0x0CA12000) = 376832
38.4433 pwrite(262, “06A201\tD401 MCAF3”.., 57344, 0x013A8000) = 57344
38.4724 pwrite(262, “06A2010193 D01 MCB01”.., 8192, 0x32688000) = 8192
38.4999 pwrite(262, “06A2010192B401 MCA1E”.., 32768, 0x32568000) = 32768
38.5336 pwrite(262, “06A20101930401 MCA9D”.., 32768, 0x32608000) = 32768
38.5492 pwrite(262, “06A2010193 401 MCAE8”.., 32768, 0x32668000) = 32768
38.5963 pwrite(261, “02A2C0 e 701 MCB1A”.., 483328, 0x0CA6E000) = 483328
38.6658 pwrite(262, “06A201\tDB01 MCB &”.., 114688, 0x013B6000) = 114688
38.6871 pwrite(262, “06A2010193 d01 MCB 2”.., 32768, 0x326C8000) = 32768
38.6956 pwrite(262, “06A2010193 t01 MCB L”.., 8192, 0x326E8000) = 8192
38.7548 pwrite(261, “02A2C0 e r01 MCB `”.., 188416, 0x0CAE4000) = 188416
38.7987 pwrite(261, “02A2C0 s\t01 MCB {“.., 344064, 0x0E612000) = 344064
38.8544 pwrite(262, “06A201\tE901 MCB88”.., 57344, 0x013D2000) = 57344
38.8843 pwrite(262, “06A20101929501 MCB |”.., 32768, 0x3252A000) = 32768
38.9029 pwrite(262, “06A2010192A501 MCB94”.., 8192, 0x3254A000) = 8192
39.0307 semtimedop(50331729, 0xFFFFFFFF7FFFD9D4, 1, 0xFFFFFFFF7FFFD9C0) = 0
39.0995 pwrite(261, “02A2C0 s 301 MCBAC”.., 704512, 0x0E666000) = 704512
39.1482 pwrite(261, “02A2C0 x\t01 MCC12”.., 270336, 0x0F012000) = 270336
39.1939 pwrite(262, “06A201\tF001 MCBB7”.., 163840, 0x013E0000) = 163840
39.2279 pwrite(262, “06A2010192D501 MCBDF”.., 8192, 0x325AA000) = 8192
39.2504 pwrite(262, “06A2010192E501 MCBF8”.., 8192, 0x325CA000) = 8192
39.2751 pwrite(262, “06A2010192F501 MCC12”.., 8192, 0x325EA000) = 8192
39.3061 pwrite(262, “06A20101931501 MCC D”.., 8192, 0x3262A000) = 8192
39.3532 pwrite(261, “02A2C0 x *01 MCC :”.., 425984, 0x0F054000) = 425984
39.3762 pwrite(262, “06A201\n0401 MCC ?”.., 40960, 0x01408000) = 40960
39.4063 pwrite(262, “06A201\n\v01 MCC a”.., 32768, 0x01416000) = 32768
39.4309 pwrite(262, “06A2010193 E01 MCC8F”.., 8192, 0x3268A000) = 8192
39.4683 pwrite(261, “02A2C0 x ^01 MCC x”.., 352256, 0x0F0BC000) = 352256
39.5176 pwrite(261, “02A2C1 28901 MCCAA”.., 90112, 0x26512000) = 90112
39.6324 pwrite(262, “06A201\n0F01 MCC ~”.., 114688, 0x0141E000) = 114688

ASYNC => KAIO and pwrite system calls ( pwrite is called because KAIO is failed? I don’t know)
DIRECTIO => pwrite systems calls
SETALL => KAIO and pwrite system calls
NONE => pwrite calls

I did this test on

oracle@:/home/oracle>$ uname -a
SunOS xxxxxxx 5.10 Generic_141444-09 sun4u sparc SUNW,Sun-Fire-V440

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: