Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables
-
Upload
antonios-giannopoulos -
Category
Documents
-
view
60 -
download
0
Transcript of Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables
![Page 1: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/1.jpg)
WiredTigerconfigura/onvariables-Lookingunderthehood
AntoniosGiannopoulosDatabaseAdministrator–Rackspace
PerconaLiveEurope2016
![Page 2: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/2.jpg)
Agenda
Wearegoingtodiscuss:MongoDBWiredTigerConfigura/onVariables
- Whattheymean?- Howtoconfigure/change?- Benchmarks
![Page 3: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/3.jpg)
BenchmarkspecsRackspaceOnMetalCloudServerv212cores32GBRAM2x800GBSSDs(RAID1)MongoDB3.2.9SysbenchforMongoDBbyTimCallaghanusingdefaultse[ngs
![Page 4: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/4.jpg)
BenchmarkspecsSysbench:1) Creates16collec/ons10milliondocumentseach2) Executesamixedworkloadfor10minutesLoad:Comple/on/mefor(1)TPSCUM:AveragenumberofSysbenchtransac/onsTPSINT:NumberofSysbenchtransac/onsSamplesarecollectedevery10seconds
![Page 5: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/5.jpg)
WTconfigura/on/FilesThreewaystochangeWTvariables:mongod.conf:engineConfig.configStringrun/me:db.adminCommand({setParameter:…})configura/onfile(s):(WiredTiger.basecfg,WiredTiger.config)
Theorderofconfigura/onis:WiredTiger.basecfgfilewired/ger_openconfigura/onstringargument,WiredTiger.configfile,WIREDTIGER_CONFIGenvironmentvariable
![Page 6: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/6.jpg)
WTconfigura/on/mongod.confengineConfig: cacheSizeGB:<number> journalCompressor:<string> directoryForIndexes:<boolean>
configString:<string>,<string>…collec/onConfig: blockCompressor:<string>indexConfig: prefixCompression:<boolean>
setParameter: wiredTigerConcurrentReadTransac/ons:<number> wiredTigerConcurrentWriteTransac/ons:<number>
![Page 7: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/7.jpg)
WTconfigura/on/mongod.confengineConfig: cacheSizeGB:<number> journalCompressor:<string> directoryForIndexes:<boolean>
configString:<string>,<string>…collec/onConfig: blockCompressor:<string>indexConfig: prefixCompression:<boolean>
setParameter: wiredTigerConcurrentReadTransac/ons:<number> wiredTigerConcurrentWriteTransac/ons:<number>
![Page 8: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/8.jpg)
JournalBenchmarkDefault:SnappyLoad:10minutesand58secondsWithoutcompression:Load:10minutesand21secondsWithoutjournal:Load:8minutesand35seconds
![Page 9: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/9.jpg)
Journal(cumtps)
0
200
400
600
800
1000
1200
0 100 200 300 400 500 600 700
default
withoutcompression
withoutjournal
![Page 10: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/10.jpg)
Journal(inttps)
0
200
400
600
800
1000
1200
1400
0 100 200 300 400 500 600 700
default
withoutcompression
withoutjournal
![Page 11: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/11.jpg)
WTconfigura/on/mongod.confengineConfig: cacheSizeGB:<number> journalCompressor:<string> directoryForIndexes:<boolean>
configString:<string>,<string>…collec/onConfig: blockCompressor:<string>indexConfig: prefixCompression:<boolean>
setParameter: wiredTigerConcurrentReadTransac/ons:<number> wiredTigerConcurrentWriteTransac/ons:<number>
![Page 12: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/12.jpg)
CompressionAlgorithmssnappy:itgathersdatauptoamaximumof32KB,compressesit,andifcompressionissuccessful,writestheblockroundeduptothenearest4KB.zlib:itgathersmoredataandcompressenoughtofilla32KBblockondisk.Configurablepercollec/on:db.createCollec/on("foo",{storageEngine:{wiredTiger:{configString:"block_compressor=zlib"}}})
![Page 13: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/13.jpg)
blockCompressorBenchmarkSnappy:Load:10minutesand58secondsZlib:Load:18minutesand21secondsWithoutcompression:Load:10minutesand45seconds
![Page 14: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/14.jpg)
blockCompressor(cumtps)
0
200
400
600
800
1000
1200
0 100 200 300 400 500 600 700
snappy
zlib
nocompression
![Page 15: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/15.jpg)
blockCompressor(inttps)
0
200
400
600
800
1000
1200
1400
1600
0 100 200 300 400 500 600 700
snappy
zlib
none
![Page 16: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/16.jpg)
WTconfigura/on/mongod.confengineConfig: cacheSizeGB:<number> journalCompressor:<string> directoryForIndexes:<boolean>
configString:<string>,<string>…collec/onConfig: blockCompressor:<string>indexConfig: prefixCompression:<boolean>
setParameter: wiredTigerConcurrentReadTransac/ons:<number> wiredTigerConcurrentWriteTransac/ons:<number>
![Page 17: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/17.jpg)
Prefixcompressionuseusedusefulusefullyusefulnessuselessuselesslyuselessness
![Page 18: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/18.jpg)
Prefixcompressionuseusedusefulusefullyusefulnessuselessuselesslyuselessness
0:use1:0d2:0ful3:0fully4:0less5:0lessly6:0lessness
![Page 19: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/19.jpg)
Prefixcompressionuseusedusefulusefullyusefulnessuselessuselesslyuselessness
0:use1:0d2:0ful3:0fully4:0less5:0lessly6:0lessness
0:use1:0d2:0ful3:2ly4:0less5:4ly6:4ness
![Page 20: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/20.jpg)
Prefixcompression(load/mes)
Default:Snappycompression:Load:10minutesand58secondsNone:Withoutcompression:Load:09minutesand51seconds
![Page 21: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/21.jpg)
Prefixcompression(cumtps)
0
200
400
600
800
1000
1200
0 100 200 300 400 500 600 700
default
none
![Page 22: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/22.jpg)
Prefixcompression(inttps)
0
200
400
600
800
1000
1200
1400
0 100 200 300 400 500 600 700
default
none
![Page 23: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/23.jpg)
WTconfigura/on/mongod.confengineConfig: cacheSizeGB:<number> journalCompressor:<string> directoryForIndexes:<boolean>
configString:<string>,<string>…collec/onConfig: blockCompressor:<string>indexConfig: prefixCompression:<boolean>
setParameter: wiredTigerConcurrentReadTransacKons:<number> wiredTigerConcurrentWriteTransacKons:<number>
![Page 24: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/24.jpg)
ConcurrentTransac/onsSpecifythemaximumnumberofconcurrentread/writetransac/ons.Defaultis128mongod.confsetParameter: wiredTigerConcurrentReadTransac/ons:<number> RunKme:db.adminCommand({setParameter:1,wiredTigerConcurrentWriteTransac/ons:<num>})
![Page 25: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/25.jpg)
ConcurrentTransac/onsBenchmark64Trx:64read/writetranscac/onsLoad:11minutesand06seconds128Trx:Default-128read/writetranscac/onsLoad:10minutesand58seconds256Trx:256read/writetranscac/onsLoad:10minutesand46seconds
![Page 26: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/26.jpg)
ConcurrentTransac/ons(cumtps)
0
200
400
600
800
1000
1200
0 100 200 300 400 500 600 700
trx-128
trx-64
trx-256
![Page 27: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/27.jpg)
ConcurrentTransac/ons(inttps)
0
200
400
600
800
1000
1200
1400
0 100 200 300 400 500 600 700
trx-128
trx-64
trx-256
![Page 28: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/28.jpg)
WTconfigura/on/mongod.confengineConfig: cacheSizeGB:<number> journalCompressor:<string> directoryForIndexes:<boolean>
configString:<string>,<string>…collec/onConfig: blockCompressor:<string>indexConfig: prefixCompression:<boolean>
setParameter: wiredTigerConcurrentReadTransac/ons:<number> wiredTigerConcurrentWriteTransac/ons:<number>
![Page 29: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/29.jpg)
WTconfigura/onEveryWTvariablecanbeassignedtoconfigStringWearegoingtoexamineasubset:- evic/on_target- evic/on_trigger- evic/on_dirty_target- evic/on_dirty_trigger- evic/on.threads_min- evic/on.threads_max- direct_IO
![Page 30: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/30.jpg)
Evic/on
ResidentObjects Sharedcache
![Page 31: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/31.jpg)
Evic/on
Cachesavesobjects(workingset)
![Page 32: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/32.jpg)
Evic/on
Evic/onTriggers
![Page 33: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/33.jpg)
Evic/on
Evic/onCandidates
![Page 34: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/34.jpg)
Evic/on
Evic/onTarget
![Page 35: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/35.jpg)
evic/on_triggerevicKon_triggeristheoccupiedpercentageofthetotalcachesizethatcausesevic/ontostart.Defaultvalue:95%Acceptablevalues:Between10and99RunKme:db.adminCommand({setParameter:1,wiredTigerEngineRun/meConfig:"evic/on_trigger=71”})mongod.conf:evic/on_trigger=71WiredTiger.config:evic/on_trigger=71
![Page 36: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/36.jpg)
evic/on_targetevicKon_targetistheoveralltargetforevic/on,expressedasapercentageoftotalcachesize.Defaultvalue:80%Acceptablerange:Between10and99(lowerthantrigger)RunKme:db.adminCommand({setParameter:1,wiredTigerEngineRun/meConfig:"evic/on_target=70"})mongod.conf:evic/on_target=70WiredTiger.config:evic/on_target=70
![Page 37: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/37.jpg)
Evic/on_trigger/targetBenchmarkDefault:trigger/target:95/80Load:11minutesand06seconds95/90:trigger/target:95/90Load:11minutesand41seconds90/89:trigger/target:90/89Load:10minutesand16seconds95/94:trigger/target:95/94Load:12minutesand26seconds
![Page 38: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/38.jpg)
evic/on_trigger/target(cumtps)
0
200
400
600
800
1000
1200
0 100 200 300 400 500 600 700
default
95and90
90and89
95and94
![Page 39: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/39.jpg)
Evic/on_trigger/target(inttps)
0
200
400
600
800
1000
1200
1400
1600
0 100 200 300 400 500 600 700
default
95and90
90and89
95and94
![Page 40: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/40.jpg)
evic/on_dirty_triggerevicKon_dirty_trigger:triggerevic/onwhenthecacheisusingthismuchmemoryfordirtycontent,asapercentageofthetotalcachesize.Defaultvalue:95%Acceptablerange:Between5and99RunKme:db.adminCommand({setParameter:1,wiredTigerEngineRun/meConfig:"evic/on_dirty_trigger=71"})mongod.conf:evic/on_dirty_trigger=71WiredTiger.config:evic/on_dirty_trigger=71
![Page 41: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/41.jpg)
evic/on_dirty_targetevicKon_dirty_target:con/nueevic/ngun/lthecachehaslessdirtypagesthanthis(asapercentage).Default:80%Acceptablerange:Between5and99(lowerthantrigger)RunKme:db.adminCommand({setParameter:1,wiredTigerEngineRun/meConfig:"evic/on_dirty_target=70"})mongod.conf:evic/on_dirty_target=70WiredTiger.config:evic/on_dirty_target=70
![Page 42: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/42.jpg)
dirty_trigger/targetBenchmarkDefault:trigger/target95/80Load:10minutesand58seconds20/5:trigger/target20/5Load:31minutesand20seconds80/70:trigger/target80/70Load:10minutesand06seconds
![Page 43: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/43.jpg)
dirty_trigger/target(cumtps)
0
200
400
600
800
1000
1200
0 100 200 300 400 500 600 700
default
20and5
80and70
![Page 44: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/44.jpg)
dirty_trigger/target(inttps)
0
200
400
600
800
1000
1200
1400
1600
0 100 200 300 400 500 600 700
default
20and5
80and70
![Page 45: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/45.jpg)
evic/onthreadsevicKon.threads_min&evicKon.threads_max:theminimumandmaximumnumberofaddi/onalevic/onthreadsDefault:1and4Acceptablerange:between1and20RunKme:db.adminCommand({setParameter:1,wiredTigerEngineRun/meConfig:"evic/on=(threads_min=2)"})mongod.conf:evic/on=(threads_max=2)WiredTiger.config:evic/on=(threads_max=2)
![Page 46: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/46.jpg)
evict_threads_min/maxBenchmarkDefault:min/max1/4Load:10minutesand58seconds4and6:min/max4/6Load:10minutesand31seconds2and8:min/max2/8Load:10minutesand11seconds4and4:min/max4/4Load:10minutesand21seconds
![Page 47: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/47.jpg)
evict_threads_min/max(cumtps)
0
200
400
600
800
1000
1200
0 100 200 300 400 500 600 700
default
4and6
2and8
4and4
![Page 48: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/48.jpg)
evict_threads_min/max(inttps)
0
200
400
600
800
1000
1200
1400
1600
0 100 200 300 400 500 600 700
default
4and6
2and8
4and4
![Page 49: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/49.jpg)
direct_io
STORAGE STORAGE
FScacheWTcache WTcache FScache
RAM RAM
![Page 50: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/50.jpg)
direct_io• minimizetheopera/ngsystemcacheeffectsofI/Otoand
fromWiredTiger'sbuffercache• avoiddouble-bufferingofblocksinWiredTiger'scacheand
theopera/ngsystembuffercache• avoidstallingunderlyingsolid-statedrivesbywri/ngalarge
numberofdirtyblocks.WiredTiger.config:direct_io=(data)mongod.conf:storage.wiredTiger.engineConfig.configString:direct_io=(data)
![Page 51: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/51.jpg)
DirectIOBenchmark
Default:WithoutDirectIOLoad:10minutesand58secondsDirectIO:WithDirectIOLoad:11minutesand25seconds
![Page 52: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/52.jpg)
DirectIO(cumtps)
0
200
400
600
800
1000
1200
0 100 200 300 400 500 600 700
default
directIO
![Page 53: Antonios Giannopoulos Percona 2016 WiredTiger Configuration Variables](https://reader035.fdocuments.in/reader035/viewer/2022062413/58a80a101a28ab3d6e8b565f/html5/thumbnails/53.jpg)
DirectIO(inttps)
0
200
400
600
800
1000
1200
1400
1600
0 100 200 300 400 500 600 700
default
directIO