dstart I/O request repeatedly delayed

Message text

kernel: dstartio: I/O request repeatedly delayed; block number: %ld, vdn: %ld

NoteThis error may be caused by a hardware problem.

Explanation

This error message is not dangerous and there is no data corruption connected with it unless it is reported in the error log together with other kernel messages that indicate corruption.


Error message

If this is an error message, it is a sign of inconsistencies or corruption relating to the asynchronous I/O capabilities of Adaptive Server Enterprise. In this case, the above error message is reported along with other error messages in the Adaptive Server error log.

If this message is accompanied by other error or kernel messages in the Adaptive Server error log, refer to the appropriate section of this manual (by error number or name) to correct the additional errors.


Warning message (informational)

This can be an informational message (occurring by itself, any number of times). If this is a warning message, it is displayed by itself in the Adaptive Server error log. In this case, the message displays in the Adaptive Server error log when:

Asynchronous disk I/O allows Adaptive Server to initiate a disk operation to continue processing other data while the disk operation is completed. This can improve performance and recoverability especially when the master device, the user databases, and transaction logs are on raw disk partitions. For more information on raw disk partitions, refer to the section “File system or raw partition” in the Adaptive Server Enterprise Migration Guide chapter “Making Database Administration Changes.”

Action

The following I/O-related Adaptive Server configuration parameters and operating system parameters play a role when this error occurs:

Determine the current I/O-related Adaptive Server configuration parameter settings by running the following commands:

1> sp_configure "disk i/o structures"
2> go
1> sp_configure "max async i/os per engine"
2> go

1> sp_configure "max async i/os per server"
2> go

Use the instructions in the sections below to determine appropriate values and then use sp_configure to change the values of disk i/o structures, max async i/os per server, and max async i/os per engine. In general:


AIX

Configure the operating system for a higher number of outstanding asynchronous I/Os using smit. Bring up the smit aio screen by typing smit aio at the AIX prompt. Then, go to the “Change/Show Characteristics of Asynchronous I/O” screen and raise the “maximum number of REQUESTS” parameter to 4096.

This change will improve Adaptive Server performance. You will not need to restart the operating system for the change to take effect. For more information on asynchronous I/O, search for “asynchronous” using the info utility.

Also, raise the values of the Adaptive Server I/O-related configuration parameters to 4096 to match the “maximum number of REQUESTS” value in smit.


Digital UNIX

In Digital UNIX releases before version 3.0 (Digital OSF), the number of outstanding asynchronous I/Os was hard-coded in the operating system kernel in the AIO_MAX parameter (stored in a header file in /sys). Its default value was 64. For those releases, the Adaptive Server I/O-related configuration parameters should be set to 64 so that Adaptive Server can match the operating system's rate of concurrent I/O requests.

In version 3.0 and later releases, you can change the number of outstanding kernel asynchronous I/Os. Refer to the Adaptive Server Enterprise installation and configuration guides for details.

Also, raise the values of the Adaptive Server I/O-related configuration parameters to match the value of the kernel's maximum outstanding asynchronous I/O requests.


HP-UX

Depending on the operating system kernel, the maximum number of outstanding asynchronous I/O requests can be either 50 (on older HP-UX 8.x kernels) or 500 (on patched HP-UX 8.x kernels and default on HP-UX on 9.x kernels). this value is stored in the MAX_CONCURRENT parameter in /usr/include/sio/asynch. Adjust the Adaptive Server I/O-related configuration parameters to match MAX_CONCURRENT.

The error log example below shows the Adaptive Server start-up messages associated with the older 8.x asynchronous I/O driver and its limit of 50 asynchronous requests at one time. Once a later asynchronous patch has been applied or the new operating system version has been installed, this limit is increased to 500.

00: 92/06/04 14:38:07.10 server: Number of blocks left 
for proc headers: 351.
00: 92/06/04 14:38:07.36 kernel: basis_dioinit: Using older version 
of asynch I/O driver with “50” concurrent requests
00: 92/06/04 14:38:07.38 server: Opening Master database...

Other operating systems

For other operating systems, check your operating system manuals for information about asynchronous configuration issues.

If problems persist, refer to the error documentation in this manual or contact Sybase Technical Support.

Additional information

Refer to:

If you call Sybase Technical Support, have the information on hand that is listed in “Reporting errors”, including the output from sp_configure for I/O-related parameters or listing of your configuration file.