Performance on Sybase Devices Using Direct I/O, Dsync and Raw ...
Performance on Sybase Devices Using Direct I/O, Dsync and Raw ...
Performance on Sybase Devices Using Direct I/O, Dsync and Raw ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
1.0 INTRODUCTION<strong>Sybase</strong> Adaptive Server® Enterprise 15.0 substantially enhances a database platform already known for its superiorperformance, reliability, <strong>and</strong> low total cost of ownership (TCO). Prior to ASE 15, it was recommended that the dsyncsetting be turned <strong>on</strong> for devices initialized <strong>on</strong> UNIX operating system files. The dsync flag ensures that writes to thedevice file occur directly <strong>on</strong> the physical storage media, <strong>and</strong> Adaptive Server can recover data <strong>on</strong> the device in theevent of a system failure. This functi<strong>on</strong>ality, however, yields much slower performance during write operati<strong>on</strong>s, whencompared to using raw partiti<strong>on</strong>s.In ASE 15, the directio parameter allows you to c<strong>on</strong>figure Adaptive Server to transfer data directly to disk, bypassingthe operating system buffer cache. directio performs IO in the same manner as raw devices <strong>and</strong> provides the sameperformance benefit as raw devices (significantly better than dsync), but has the ease of use <strong>and</strong> manageability of filesystem devices.Note: The directio <strong>and</strong> dsync parameters are mutually exclusive. If a device has dsync set to “true,” you cannot setdirectio to “true” for this device. To enable directio for a device, you must first reset dsync to “false.”Following few secti<strong>on</strong>s explains Asynchr<strong>on</strong>ous, <strong>and</strong> Synchr<strong>on</strong>ous system calls, as well as direct I/O <strong>and</strong> write with<strong>Dsync</strong> opti<strong>on</strong>.2.0 ASYNCHRONOUS I/OAsynchr<strong>on</strong>ous I/O allows the process issuing the I/O to c<strong>on</strong>tinue executing while OS completes the request.Dataserver process does not block <strong>on</strong> this request till its completi<strong>on</strong>. Following figure shows how Adaptive serverworks with asynchr<strong>on</strong>ous I/O.dataserverissuewritecall to aiowrite()aiowrite() returnsO/SwritestartedPerform I/O in adifferent c<strong>on</strong>textDataserver doesother work whileI/O is in progresswritePoll for I/Ocompleti<strong>on</strong>aiowait()return I/Ostatus1