Compaq ProLiant 400, ProLiant 4500, Proliant 800 White Paper

Add to my manuals
31 Pages

advertisement

Compaq ProLiant 400, ProLiant 4500, Proliant 800 White Paper | Manualzz

Configuration and Tuning of Sybase System

11 for NetWare on Compaq Servers

White Paper

________________________________________________________________

Prepared By

Database Engineering

Compaq Computer Corporation

August 1996

NOTICE

The information in this publication is subject to change without notice.

COMPAQ COMPUTER CORPORATION SHALL NOT BE LIABLE FOR TECHNICAL OR

EDITORIAL ERRORS OR OMISSIONS CONTAINED HEREIN, NOR FOR INCIDENTAL OR

CONSEQUENTIAL DAMAGES RESULTING FROM THE FURNISHING, PERFORMANCE,

OR USE OF THIS MATERIAL.

This publication contains information protected by copyright. Except for internal use distribution, no part of this publication may be photocopied or reproduced in any form without prior written consent from Compaq Computer Corporation.

This publication does not constitute an endorsement of the product or products that were tested.

The configuration or configurations tested or described may or may not be the only available solution. This test is not a determination of product quality or correctness, nor does it ensure compliance with any federal, state or local requirements. Compaq does not warrant products other than its own strictly as stated in COMPAQ product warranties.

Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies.

© 1996 Compaq Computer Corporation

All rights reserved. Printed in the USA

COMPAQ, SYSTEMPRO, PROLIANT, PROSIGNIA

Registered US Patent and Trademark Office.

Configuration and Tuning of Sybase System 11 for NetWare on Compaq

Servers

First Edition (August 1996)

Document Number 140A/0896

Compaq Computer Corporation

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers Page i

Table of Contents

Introduction......................................................................................................................................... 1

Tuning Goals....................................................................................................................................... 2

System Processor Planning .................................................................................................................. 2

Initial CPU Recommendations ...................................................................................................... 2

Memory Planning................................................................................................................................ 3

Initial Memory Recommendations for Sybase ............................................................................... 3

Estimating Memory Requirements for Sybase ............................................................................... 3

Disk Subsystem Planning .................................................................................................................... 5

Array Accelerator: Its Function and Benefit in a Sybase SQL Server Environment ....................... 5

SMART and SMART-2 SCSI Array Controller characteristics .............................................. 5

Write Cache........................................................................................................................... 6

Read Cache............................................................................................................................ 6

Housekeeper, Checkpoints, and Transaction Log Writes ........................................................ 6

Integrity of cached data in the Array Accelerator ................................................................... 7

Configuring the Array Accelerator......................................................................................... 7

Fault Tolerance Considerations.............................................................................................. 9

1. RAID-based Disk Controllers ............................................................................... 9

2. NetWare Disk Controller Duplexing..................................................................... 9

3. Sybase SQL Server Mirroring/Duplexing ............................................................. 9

Network Planning................................................................................................................................ 10

Network Characteristics of a SQL Server Environment .......................................................... 10

IPX/SPX Network Packet Routing ......................................................................................... 10

TCP/IP Network Packet Routing ............................................................................................ 10

Network Interface Controller ................................................................................................. 11

Processor Tuning................................................................................................................................. 11

Memory Tuning .................................................................................................................................. 11

Estimating Memory Requirements for Stored Procedures.............................................................. 12

I/O Tuning .......................................................................................................................................... 12

Separate Sequential and Random I/O’s ......................................................................................... 13

Layout of Tables and Files ............................................................................................................ 13

Checking Disk I/O Rate ................................................................................................................ 14

Network Tuning .................................................................................................................................. 15

Compaq System Configuration ............................................................................................................ 15

NetWare 4.10 Configuration................................................................................................................ 15

Processes ...................................................................................................................................... 15 upgrade low priority threads .................................................................................................. 15 maximum service processes ................................................................................................... 16

Memory........................................................................................................................................ 16 garbage collection interval ..................................................................................................... 16 number of frees for garbage collection.................................................................................... 16 minimum free memory for garbage collection ........................................................................ 16

File Caching ................................................................................................................................. 16 read ahead enabled................................................................................................................. 17 minimum file cache buffers.................................................................................................... 17

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page ii Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers

File System................................................................................................................................... 17 volume block size................................................................................................................... 17 enable file compression .......................................................................................................... 17 sub-block allocation ............................................................................................................... 17 enable disk read after write verify .......................................................................................... 17 immediate purge of deleted files............................................................................................. 18 file delete wait time................................................................................................................ 18 minimum file delete wait time................................................................................................ 18 remirror block size................................................................................................................. 18 concurrent remirror requests .................................................................................................. 18 mirrored devices are out of sync message frequency ............................................................... 18

Communications........................................................................................................................... 19 maximum physical receive packet size ................................................................................... 19 minimum packet receive buffers............................................................................................. 19 maximum packet receive buffers ............................................................................................ 19

NetWare Partitions ....................................................................................................................... 19

Upgrading From Previous Sybase Versions to System 11 ..................................................................... 19

Sybase System 11 Configuration.......................................................................................................... 19 sp_configure command ................................................................................................................. 20 total memory.......................................................................................................................... 20 procedure cache percent ......................................................................................................... 20 number of devices .................................................................................................................. 20 number of user connections.................................................................................................... 20 recovery interval in minutes ................................................................................................... 20 housekeeper free write percent ............................................................................................... 21 user log cache size ................................................................................................................. 21 default network packet size .................................................................................................... 21 max network packet size ........................................................................................................ 21 additional network memory.................................................................................................... 21 number of extent i/o buffers ................................................................................................... 21 number of sort buffers ............................................................................................................ 22 number of pre-allocated extents.............................................................................................. 22 stack size ............................................................................................................................... 22 event buffers per engine ......................................................................................................... 22

Sybase Sybinit Utility.................................................................................................................... 22

Sybase Audit Feature .................................................................................................................... 22

Installing From CD-ROM.................................................................................................................... 23

Compaq SCSI based CD-ROM drive ............................................................................................ 23

Compaq IDE based CD-ROM drive .............................................................................................. 23

System Management Tools .................................................................................................................. 24

Novell Monitor Utility .................................................................................................................. 24

Sybase SQL Monitor..................................................................................................................... 24

Compaq Insight Manager ............................................................................................................. 24

Conclusion .......................................................................................................................................... 25

Check List of Recommendations.......................................................................................................... 26

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase

System 11 for NetWare on Compaq

Servers

Introduction

The purpose of this document is to share the knowledge acquired by Compaq Systems Engineers in the area of configuration and performance tuning of Sybase SQL Server 11 for Novell

NetWare on the Compaq ProLiant family of servers. It is our desire to deliver the best technical information possible on a specific topic in a timely manner and in a highly useable format. Any comments, suggestions and feedback are always appreciated.

The information presented in this document is based on Sybase SQL Server 11.0.1 for NetWare

4.10 and is a result of numerous performance tests executed within the context of an industrystandard TPC-C benchmark, internal benchmarking for hardware development and optimization, and analyzing customer-reported expectations, performance trends, and solutions. Sybase and

Compaq do not recommend or support the running of Sybase SQL Server 11.0.1 for NetWare on

NetWare 3.11/3.12, 4.0x and SMP based servers.

Compaq is an active member of the Transaction Processing Performance Council, and publishes a number of benchmarks every year proving the superior performance and price-performance ratios of Compaq servers. The results of these benchmarks can be obtained directly from

Compaq Computer Corporation or from the Transaction Processing Performance Council. The contact information is listed below.

Compaq Computer Corporation

Database Performance Engineering

P.O. Box 692000

Houston, TX 77269-2000 http://www.compaq.com

Transaction Processing Performance Council c/o Shanley Public Relations

777 North First Street, Suite 6000

San Jose, CA 95112-6311 http://www.tpc.org

Even though most of the testing that provided basis for this document was done in the area of online transaction processing, much of the information presented does apply to other environments, such as decision support and batch processing. We recommend that you always experiment before applying any changes to your production server.

Other publications covering these and related topics listed below:

Configuring Compaq RAID Technology for Database Servers, Compaq TechNote, P/N

184206-001

Sybase SQL Server

System Administration Guide

Sybase SQL Server

Performance and Tuning Guide

Introduction to Sybase

SQL Server

for NetWare

Installing Sybase

Products for Novell NetWare

Using Sybase

SQL Server

Utility Programs for Novell NetWare

Sybase

SQL Server

Configuration Guide for Novell NetWare

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 2 Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers

Tuning Goals

To achieve the best system performance possible, there are several factors which you must review. These factors include optimization of the hardware, the Sybase SQL Server, the operating system, and the application software. This paper focuses on the hardware, Sybase SQL

Server, and the operating system. Although it is important to tune the application to take advantage of the system, due to the diversity of applications this is beyond the scope of this paper.

Tuning is an iterative process that evolves as user and work loads change on your system. An optimally tuned Sybase System 11 on NetWare 4.10 system should have the following characteristics:

Most of the CPU utilization is allocated to the user processes and not the background processes. Make sure that the user process threads are getting the majority of the CPU resource.

There will be little or no waiting on I/O. This indicates that the CPU will always have some work to do while there are outstanding I/Os.

Users should see good response times. A system that appears to be tuned well and is experiencing poor response times could have any or all of the following problems:

An inefficient database design. This could include poor indexing schemes or inefficient layout of the data on the drives when the database was created.

Inefficient statements in the database application, such as poor SQL statements in stored procedures.

Excess latencies in the I/O subsystem or network.

If your database and application are well tuned, and if there is no idle time and no waiting on I/O on the CPU, then you may be CPU bound. CPU bound means that in spite of your efforts to tune the system, you cannot get more performance from it because there is no more processing power left on the CPU. In that case, upgrading to a faster system processor could greatly improve response times.

System Processor Planning

This section on system processor planning outlines some items that need to be considered before deciding on which CPU to utilize for your database server.

Initial CPU Recommendations

The choice of the right system processor depends on your environment. As technology evolves, more powerful processors are becoming available, pushing performance to new levels at very competitive costs per processing unit. Our recommendation is to carefully evaluate your environment, and experiment with various processor configurations, if possible. Always have future growth and expansion in mind. You may want to start with Pentium

Pentium

/166 processors for smaller departmental systems, and PentiumPro

/133 or

processors for higher demand systems.

Before upgrading the system processor, you should closely monitor performance of the system and tune it from the software perspective. If the performance bottleneck is in software, hardware upgrades can only partially improve performance. It may be more cost effective to tune the software rather than to purchase hardware upgrades. If the performance bottleneck is clearly at the system processor, upgrading to the next level processor can dramatically improve performance.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers Page 3

Memory Planning

The amount of memory in the server will have a great impact on the overall performance of the

Sybase SQL Server. For NetWare servers dedicated as Sybase SQL Servers there should be a minimum of 10% free buffers are reported by the NetWare monitor utility. For non-dedicated

NetWare servers, servers that perform file and print services along with running Sybase SQL

Server, this value should be at least 20%.

Initial Memory Recommendations for Sybase

Sybase recommends a minimum of 64 MB of memory to install and run Sybase System 11.

System 11 consists of Sybase SQL Server, Sybase Backup Server, Sybase Monitor Server and

Sybase Historical Server. Adding additional memory to the server and configuring it for use by the Sybase SQL Server will in most cases increase the server throughput and performance.

Estimating Memory Requirements for Sybase

You can obtain an initial estimate the actual memory requirements for your Sybase System 11 database server by using the following procedures. The server used in this calculation had 512

MB of memory installed.

Install Sybase SQL Server, Backup Server and Monitor using the default installed configurations.

Restart NetWare and load the Novell Monitor utility. Record the number of original cache

buffers and total cache buffers as reported on the Novell Monitor general information screen.

We will use these numbers later in this calculation.

Original Cache Buffers: 130,561

Total Cache Buffers: 122,256

Start SQL Server, Backup Server and Monitor Server. Use the Novell Monitor utility to record the memory allocation of the Sybase modules. The allocations on our test server were as follows:

For Sybase SQL Server

Module NetWare 4KB buffers

International Library

Sybase Common Library

Sybase CS-Library

Netlib Driver for TLI

Sybase Transport Control Library

Sybase DB Library

Sybase SQLServer Stubs Library

Sybase SMP Stub Library

Sybase NetWare SQL Server

Sybase Server Library

Total

Total in MB

12008

6

12062

6

6

6

6

6

6

6

6

48

For Sybase Backup Server

Module NetWare 4KB buffers

Sybase Backup Server

Total

Total in MB

929

929

4

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 4 Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers

For Sybase Monitor Server

Module

Monitor Server

NetWare 4KB buffers

453

Total

Total in MB

453

2

48 MB SQL Server + 4 MB Backup Server + 2 MB Monitor Server = 54 MB total System

11

Add to this 51KB for each user connection beyond the initial default of 25 user connections. The value of 51KB per user connection may need to be increased depending upon if you also increased the user stack size and the default network packet size. Refer to the sections later in this document for a discussion on the implications of altering the user stack size and the default

network packet size. Lets assume an additional 50 users, for a total of 75 user connections, at the default allocation of 51KB per user.

50 additional users * 51 KB per user connection = 2550 KB

≈≈

2.5 MB

For each database device beyond the initial 10 devices add another 0.5KB. For our example here lets assume the addition of 12 more devices.

12 additional devices * 0.5 KB per device = 6 KB

≈≈

0.6 MB

The type of transactions we are planning to execute will be transferring large amounts of data between the client and server. To reduce the number of packets transferred on the network we will increase the max network packet size from 512 to 4096 bytes. Each user connection requires

3 packet buffers. We will need to increase the setting for additional network memory to meet this requirement.

75 user connections * 3 buffers per user * 4096 bytes + 2% overhead = 940032 bytes

≈≈

0.9

MB

At this time we don’t know how much memory will be required as procedure and data cache. We do know that we have approximately 5 GB worth of data. Lets’ assume that we want 5% of the data in the data cache. Theoretically you could increase the amount memory in the system so the entire database would fit in memory, resulting in hopefully some rather phenomenal performance. But typically most databases are larger than the available memory of the server.

5% data in cache * 5 GB = 0.25GB = 256 MB

So the initial estimate of how much memory is required by this implementation is:

Estimate of Sybase System 11 Memory Requirement allocated by memory in MB

Sybase System 11

50 additional users

12 additional devices additional network memory

5% of data in cache

Total in MB

Total in NetWare 4KB buffers

54.0

2.5

0.6

0.9

256.0

314.0

80,384

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers Page 5

For dedicated Sybase SQL Servers leave at least 10% of the original cache buffers as free cache buffers. For non-dedicated Sybase SQL Servers leave at least 20% of the original cache buffers as free cache buffers. Free cache buffers are reported as total cache buffers by the NetWare

Monitor utility.

Dedicated server:

130561 original cache buffers - 80384 System 11 buffers - 13056 free cache buffers = 37121 buffers remaining

Non-dedicated server:

130561 original cache buffers - 80384 System 11 buffers - 26112 free cache buffers = 24065 buffers remaining

If the number of buffers remaining is negative you will need to increase the amount of memory in the server or reduce the memory allocations for Sybase System 11and run at a less than optimal performance level. If the number of buffers remaining is positive you may want to increase the value for the Sybase sp_configure total memory parameter. Remember a NetWare buffer is 4 KB in size and a Sybase page is 2 KB in size.

Disk Subsystem Planning

The objective of this section is to provide information on the benefits of the Compaq SMART and

SMART-2 SCSI Array Controller Array Accelerator and the pros and cons of various fault tolerance methods.

Additional information on disk subsystem configuration and Compaq drive array technology can be found in the following manuals:

Configuring Compaq RAID Technology for Database Servers,

Compaq TechNote, P/N 184206-001

Compaq SMART-2 Array Controller User Guide, P/N 184482-001

Compaq SMART SCSI Array Controller User Guide, P/N 142136-004

Sybase SQL Server System Administration Guide, Doc. ID 32500-01-1100-00

Array Accelerator: Its Function and Benefit in a Sybase SQL Server

Environment

The Array Accelerator is a feature of the SMART and SMART-2 SCSI Array Controllers. The main function of the Array Accelerator is to boost performance of disk operations by storing data in the cache memory on the controller. The SMART SCSI Array controllers has 4MB of cache that is mirrored, yielding 2MB of usable cache memory. The SMART-2 Array controller has

4MB of ECC (Error Checking and Correcting) memory as cache memory. The Array

Accelerator is shared among all logical drive volumes configured on the controller, and can be enabled/disabled on a per-logical-volume basis.

SMART and SMART-2 SCSI Array Controller characteristics

On the SMART controller, the Array Accelerator functions as write cache only, while the

SMART-2 controller has an added feature that allows the Array Accelerator to function as write cache, read-ahead cache, or a combination of both. With the added feature of the SMART-2 controller, you can, for example, configure the Array Accelerator on the particular controller to function as 50% read-ahead and 50% write cache. Then every logical volume on this controller is supported by the Array Accelerator in the 50/50 mode. The only exception is when the Array

Accelerator is disabled for the volume. Again, with the SMART controller, only writes can be cached; there is no read-ahead option.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 6 Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers

Write Cache

When the Array Accelerator performs write caching, the drive controller writes data to the cache memory on the Array Accelerator rather than directly to the drives. The system can access this cache memory more than 100 times faster than accessing disk storage. The controller writes the data in the Array Accelerator to the drive at a later time, when the controller is otherwise idle.

Without the Array Accelerator’s write cache, the application must wait until each write request is written out to the disk. Writing to a disk device is slower than posting the write request in the

Array Accelerator, thus possibly resulting in decreased performance.

Read Cache

The SMART-2 controller uses the Array Accelerator to increase performance in some cases by anticipating possible future read requests. The Array Accelerator uses a multi-threaded algorithm to predict the next likely read operation for the drive array. That data is pre-read into the cache on the Array Accelerator and therefore is ready before you access it. When the

SMART-2 controller receives a read request for the cached data, it can be burst read immediately into system memory, thus avoiding a disk access after the read request.

The read-ahead option of the SMART-2 SCSI Array controller can boost performance in environments that utilize sequential scans of data; for example, range lookups, data loads, table scans, etc. Environments with a very random I/O profile, such as on-line transaction processing, typically do not take advantage of the read-ahead capabilities of the controller, and in most cases it is beneficial to configure 100% of the Array Accelerator for write caching.

Housekeeper, Checkpoints, and Transaction Log Writes

There are three main write-intensive operations Sybase SQL Server performs: housekeeper, checkpoints, and transaction log writes.

‰ During idle time on the SQL Server, the housekeeper writes dirty pages from the data cache to the disk at a lower priority than the checkpoint process. Unlike a checkpoint process which must write all dirty pages from the data cache to disk before terminating, the housekeeper writes only what it can during idle times of the system. If the system is idle for a long enough period of time the housekeeper may actually write all dirty pages from the data cache to disk. When this occurs the housekeeper notifies the checkpoint process and requests that a checkpoint be performed on the database so that the transaction log will have a record that all dirty pages were written to disk at that time. (For details on configuring the housekeeper, see Housekeeper Free Write Percent later in this document.)

‰ During checkpoints, Sybase SQL Server generates a large number of write requests in a short time interval. The main objective of the checkpoint is to write all dirty pages from the data cache to the disk. The time it takes to write the dirty pages depends on several factors, such as the configuration of the housekeeper and the recovery interval of the SQL Server.

(See the explanation of recovery interval later in this document.)

In some environments, the amount of write activity that the checkpoint generates can saturate the Array Accelerator, thus interfering with read requests pending at the controller.

Proper tuning of the housekeeper can help alleviate this problem.

‰The transaction log activity is composed exclusively of sequential writes and does not saturate the Array Accelerator. However, the benefits of caching the transaction log writes at the SMART or SMART-2 SCSI Array Controller level with the Array Accelerator can have a significant beneficial impact on performance. For optimal performance the Array

Accelerator should be enabled. It is very important to make sure you follow the guidelines below for data integrity if you choose to enable the Array Accelerator on the transaction log.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers Page 7

Integrity of cached data in the Array Accelerator

The Array Accelerator contains batteries that maintain any data in the cache if a system power failure occurs. Make sure you maintain the batteries in a good condition and fully charged (they are automatically recharged while system power is present). At a fully charged state, the batteries can preserve data in the Array Accelerator for four days. When power is restored to your system, an initialization feature writes the preserved data to the disk drives.

Another step to insure data integrity in case of system failure is to install an Uninterruptible

Power Supply (UPS). Installation of a UPS will allow the controller to flush all data out to disk in the event of a power failure. The UPS does not, however, insure data integrity in the case of a controller failure, when valid data exists in the Array Accelerator. In that case, the Array

Accelerator may be removed as a complete unit from one SMART-2 controller and installed on another, while preserving any data cached. The data will be written to disk upon power up.

Configuring the Array Accelerator

The Array Accelerator of the SMART SCSI Array controller is configured via the Compaq

System Configuration Utility. The Array Accelerator of the SMART-2 Array controller is configured via the Compaq Array Configuration Utility or the Compaq Array Configuration

Utility for NetWare. The changes made while running the Compaq Array Configuration Utility for NetWare take effect immediately. In the following examples the Compaq Array

Configuration Utility is demonstrated. Always obtain the latest copy of the appropriate utility for your Compaq SMART and SMART-2 Array controllers.

With the SMART Array controller, the Array Accelerator can either be enabled (100% write cache) or disabled. This controller does not support read-ahead. The Array Accelerator can be enabled or disabled on a per-logical-volume basis.

With the SMART-2 Array controller, you can select the ratio of read-ahead cache to write cache for every controller. Once selected, this Array Accelerator ratio will apply to all logical volumes on this controller that have the Array Accelerator enabled. You can enable or disable the Array

Accelerator on a per-logical-volume basis.

To select the Array Accelerator ratio for a SMART-2 Array controller, you must install and run the Compaq Array Configuration Utility from diskettes or from the System Partition. Using the

Array Configuration Utility, highlight the appropriate controller and use the

Controller/Settings...” option.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 8 Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers

The figure below shows how to enable/disable the Array Accelerator for a particular logical drive. Using the Array Configuration Utility, highlight the appropriate logical volume and use the “Logical Drive/Modify...” option.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers Page 9

Fault Tolerance Considerations

Your transaction log needs to always be protected against a disk failure. Most mission critical sites protect both the transaction log and the database devices and they usually choose hardwarebased fault tolerance. Non-mission critical sites are often satisfied with the protection of the transaction log only and performing frequent backups/dumps.

You have three choices of protecting your data:

■ Use a RAID-based disk controller such as the Compaq SMART and SMART-2

SCSI Array Controllers

Use NetWare disk controller duplexing

Use Sybase SQL Server-based mirroring/duplexing.

Below are some key points to be aware of when choosing the appropriate fault tolerant method.

The performance differences between fault tolerance implementations can vary from insignificant to very significant, depending on your configuration and environment. Therefore, we omitted supplying performance differences for the purpose of not misleading our readers. We recommend that you evaluate the various fault tolerance methods using your own applications.

1. RAID-based Disk Controllers

‰ Hardware RAID is configurable on a logical volume basis. Therefore, the whole logical volume is protected by the appropriate fault tolerance. The capacity reduction depends on the size of the logical volume and the type of fault tolerance configured.

‰ Hardware RAID offers the best reliability and automatic recovery. When a drive fails, the system continues operating. Once the failed drive is replaced, the controller automatically rebuilds the new drive and restores the system to its full fault tolerant capabilities.

‰ Since the data protection occurs at the hardware (controller) level, there is no overhead on the system processor. This type of RAID is totally transparent to the operating system and the applications. With a CPU-intensive application/environment, such as Sybase SQL

Server, hardware-based fault tolerance can provide the best performance. Please refer to the

Compaq TechNote Configuring Compaq RAID Technology for Database Servers for a more complete discussion.

2. NetWare Disk Controller Duplexing

‰ Operating system level mirroring through NetWare offers good reliability and provides fault tolerance when a disk controller should fail but it requires manual intervention for recovery.

When a drive or disk controller fails, the system continues operating. To replace the failed drive or controller the server needs to be stopped and restarted. NetWare will then automatically re-synchronize the mirrored drive volume.

‰ Mirroring through NetWare induces an additional processing overhead on the system, resulting in a lower performance.

3. Sybase SQL Server Mirroring/Duplexing

‰ Sybase SQL Server mirroring is based on Sybase SQL Server devices. This offers you the finest granularity and lowest capacity reduction due to duplicated data. Refer to Sybase SQL

Server, System Administration Guide for guidelines on choosing which devices to mirror.

‰ You have an option of controller duplexing if you place the mirrored device on a different disk controller.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 10 Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers

‰ Sybase SQL Server supports both serial and nonserial write mode of mirroring. When utilizing the default, serial write mode, writes to the first device must finish before writes to the second device begin. Changing from serial to nonserial write mode allows the writes to both devices to be queued immediately, one to each mirrored device. The nonserial write mode will incur less overhead than serial writes that results in a slight performance improvement.

‰ Mirroring through Sybase SQL Server induces an additional processing overhead on the system, resulting in a lower performance.

Network Planning

Sybase SQL Server for NetWare supports both IPX/SPX and TCP/IP network protocols.

NetWare was designed using the IPX/SPX network protocol and is relatively easy to maintain.

Sybase SQL Server was initially developed in the Unix environment where the TCP/IP network protocol is more prevalent. TCP/IP based networks tend to require additional resources to administer and maintain. The best performance of Sybase SQL Server for NetWare will be when using the TCP/IP network protocol. From NetWare load and bind only the network protocols necessary for your site. Disable network packet routing to increase performance. When configuring Sybase SQL Server, Backup Server and SQL Monitor Server configure only the network protocols that will be used.

Network Characteristics of a SQL Server Environment

A client workstation usually assembles a group of SQL commands and submits them for execution by the database server. The server processes the commands and returns the resultant data.

Rather than having the client workstation send a huge grouping of SQL commands, profile the queries. Determine if any of the queries are candidates for conversion to stored procedures. A stored procedure is a grouping of ‘standardized’ SQL query commands that are pre-compiled and placed into the procedure area of the database by the System Administrator. The stored procedure can then be referenced by name for execution. Using stored procedures for most of the standard DBMS activities reduces the amount of network traffic and uses less server processor resources to process the query.

IPX/SPX Network Packet Routing

By default NetWare will automatically route IPX/SPX packets from one server to another. For best performance of your database server you should disabled automatic packet forwarding. The database server should be an End Node server not an IPX Routing system.

Use the NetWare Inetcfg utility to view and modify the packet forwarding setting. If the Inetcfg utility asks to “Transfer LAN driver, protocol and remote access commands?” reply with “yes”.

To disable automatic packet forwarding you need to first enable the Advanced IPX features.

From the Internetworking Configuration, Protocols, IPX selection screen display, enable the

Advanced IPX setting. From the same screen display, disable the Packet Forwarding setting.

The changes are saved in the sys:etc\initsys.ncf file. Restart the server for these changes to take effect.

TCP/IP Network Packet Routing

By default NetWare will not automatically route TCP/IP packets from one server to another. For best performance of your database server you should leave the automatic packet forwarding disabled. The database server should be an End Node server not a TCP/IP Routing system.

Use the NetWare Inetcfg utility to view and modify the IP packet forwarding setting. If the

Inetcfg utility asks to “Transfer LAN driver, protocol and remote access commands?” reply with

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers Page 11

“yes”. From the Internetworking Configuration, Protocols, TCP/IP selection screen display, disable the IP Packet Forwarding setting. The changes are saved in the sys:etc\initsys.ncf file.

Restart the server for these changes to take effect.

Network Interface Controller

From the hardware perspective, you should have a 16- or 32-bit bus-master network controller or a PCI-based network controller installed in the server to minimize the processing overhead associated with non-bus master network cards.

Processor Tuning

For optimal performance, dedicate a NetWare server for Sybase SQL Server. Off load the file and print services and other CPU intensive processes to another NetWare server. To determine which processes are utilizing large amounts of CPU time use the Novell Monitor command

Monitor -> Scheduling information. Use the Sybase SQL Monitor utility to monitor the CPU utilization of the Sybase SQL Server.

On the dedicated server, use the priority boost option -P to configure the Sybase SQL Server process to surrender to NetWare at a rate less frequently than normal. Enable the NetWare set parameter upgrade low priority threads, to insure that regularly scheduled low priority NetWare maintenance processes can run. Enabling this parameter is especially important when running

SQL Server with the priority boost option of -P or when running Backup Server and Monitor

Server on the same system as SQL Server.

Under normal database operations the Monitor utility may report 100% CPU Utilization of

NetWare server but little or no database activity is taking place. Verify that the CPU really is being 100% utilized, use the Monitor utility to look at the Scheduling information for the Idle

Loop process. Subtract its value from 100% to get a more accurate representation of CPU idle time. Check the values for all other processes to make certain that an unexpected process isn’t running that is consuming all of the CPU resource.

The Sybase SQL Monitor utility reports the CPU utilization from within the Sybase SQL Server.

It does not provide any CPU utilization information on other NetWare processes. If the Sybase

SQL Monitor consistently reports CPU utilization over 75% you should consider upgrading the server to a faster processor.

Memory Tuning

In a typical Sybase SQL Server environment you have allocated most of the servers memory to the database leaving the remainder for other NetWare processes to use. The key to memory tuning then is how to instruct Sybase SQL Server to best use the memory allocated to it. The amount of memory allocated to the database can be altered by setting the sp_configure total

memory value. Typically as more memory is allocated to the database, the performance of the database increases.

The following chart shows how the performance of the server increased as memory was added to the server. The Sybase dedicated named caches were reconfigured to obtain the best performance for each memory size. With only 256 MB of memory in the server the system had 27% CPU idle time. A check of the I/O rates showed that the data devices were experiencing 90 I/Os per drive.

This is well above the recommended optimal I/O rate of 55-60 I/Os per drive for the 4.3 GB drives. (Refer to the I/O Tuning section for detailed information on the recommended I/O rates).

The server was bottle-necked awaiting on I/O to complete. When the memory was increased to

1024 MB, the percentage of CPU idle time was reduced to 2%. The I/O rate to the data devices dropped to 47 I/Os per drive.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 12

1.00

0.90

0.80

0.70

0.60

0.50

0.40

0.30

0.20

0.10

0.00

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers

Sybase System 11 on NetWare 4.10

30.00%

1.00

27.00%

0.91

25.00%

0.73

20.00%

0.56

15.00%

9.00%

10.00%

5.00%

2.00%

1024

3.00%

768 system memory in MB

512 256

0.00%

Estimating Memory Requirements for Stored Procedures

Sybase divides the total memory into two areas, procedure cache and data cache. The amount of memory allocated to the procedure cache is defined as a percentage of the allocation for total

memory. To properly configure the size of the procedure cache you need to know the memory requirements of each stored procedure.

To estimate the memory requirements of a stored procedure, you execute the procedure and then use the dbcc memusage command to list the resources used by the stored procedure. Take the number of plan bytes and divide by the number of plans to get the number of bytes per plan.

Divide the number of bytes per plan by 2048 bytes per Sybase page to get the number of Sybase

2K pages. Do this for each stored procedure, total the number of pages utilized and increase or decrease the setting of the sp_configure procedure cache accordingly.

To estimate the memory requirements for a stored procedure without executing it. Execute the following isql command: select (count(*) / 8) + 1 from sysprocedures where id = object_id (“procedure_name”)

The query returns the number of Sybase 2K pages required by the stored procedure to execute. Do this for each stored procedure, total the number of pages utilized and increase or decrease the setting of the sp_configure procedure cache accordingly. Refer to the Sybase SQL Server

Performance and Tuning Guide for more detailed information.

I/O Tuning

In most well tuned Sybase systems, I/O is not a limiting factor. In order to assure that this is not a problem, the following factors need to be verified.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers Page 13

Sequential I/O’s are isolated to a controller volume, separate from volumes with random

I/O’s. This means sequential I/O volume should be alone on a controller or on one port of the controller.

Random I/O’s are balanced across all drives allocated to data and indexes.

Physical disk I/O limits are not exceeded.

Separate Sequential and Random I/O’s

In order to achieve maximum performance on data files being accessed sequentially, the disk(s) need to be dedicated to this purpose. Of primary importance are the Sybase transaction log files, which are accessed in a sequential, write-only fashion. Other partitions with little I/O activity can share the disk(s) with the transaction logs, such as the OS partition.

In typical multi-user database systems, data access is random. This data should be spread out over as many physical disks as necessary to achieve random I/O rates that do not exceed recommendations. This is best achieved by using the disk striping available with the Compaq

SMART SCSI Array Controller and SMART-2 SCSI Array Controller. Spreading out the disk requests among many disks allows a high degree of parallelism to occur on accesses. Using the

Compaq SMART or SMART-2 SCSI Array Controller ensures that the load will be balanced equally across the disks. For more information on optimizing array configurations refer to the

Compaq TechNote, Configuring Compaq RAID Technology for Database Servers.

Layout of Tables and Files

In order to improve performance where disk I/O is a problem, keep in mind the following.

Transaction log access is 100% sequential I/O and needs to be isolated if possible. Speed of the log is essential to the performance of the system. If possible, these drives should be fault tolerant, either mirrored or distributed data guarding. Hardware fault tolerance provides the maximum performance and reliability. See the Compaq TechNote Configuring Compaq

RAID Technology for Database Servers.

Data file access is usually random and needs to be spread across as many drives as necessary.

By increasing the number of physical drives, greater I/O rates can be achieved. Using a striped array will assure that the I/O’s are well distributed.

Use the following guidelines when monitoring and optimizing the drive subsystem. You should not have more I/O requests (disk transfers) per second per disk drive than the values in the following table.

Sequential Writes

(Transaction Log)

Random Reads/Writes

(Database Access)

1.0GB drives

(Max I/Os per

Second per Drive)

150

2.1GB drives

(Max I/Os per

Second per Drive)

160

4.3GB drives

(Max I/Os per

Second per Drive)

180

30-40

50

55-60

NOTE: With the Array Accelerator enabled, you may actually see substantially higher I/O per second per drive rates than suggested above. This increase is due to the Array Accelerator write posting some of these I/Os. In the Compaq Database Performance labs we have actually

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 14 Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers measured rates of up to 90 random I/Os per second per drive, some of which were being temporarily cached by the Array Accelerator.

Checking Disk I/O Rate

Try not to overload any individual disk with random I/Os. To determine the I/O rate per drive, first determine the number of I/O’s per second to each logical volume. The Novell Monitor utility reports on the number of concurrent disk requests that are queued but doesn’t tell you on which database device the I/O is occurring on. The Sybase SQL Monitor utility can determine the I/O rate per database device.

It is best to use values from the SQL Monitor averaged over a period of time to calculate I/O rates. Using the above output as an example, the calculations for determining the number of sequential writes to the transaction log device are relatively simple.

The transaction log is located on a single logical volume consisting of 2 2.1GB drives attached to the SMART-2 Array Controller. The log volume is using RAID1 for fault tolerance. From

Sybase SQL Monitor the log device shows zero reads and 94 writes.

Log device I/O: (0 reads + (94 writes * 2 writes per volume for RAID1)) = 188 writes per volume / 2 drives per volume = 94 writes per drive < 160 maximum sequential writes per

2.1GB drive

Now lets calculate the I/O rate for the data devices. The data devices are located on single logical volume consisting of 14 2.1GB drives attached to a second SMART-2 Array Controller. The volume is using RAID5 for fault tolerance. Sybase SQL Monitor show the following I/O device rates for the data devices: acct1: 42 reads + 28 writes

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers acct2: 50 reads + 28 writes

Page 15 acct3: 43 reads + 27 writes

Data device I/O: ((42 + 50 + 43) reads + ((28 + 28 + 27) writes * 5 writes per volume for

RAID5)) = 467 I/Os per volume / 14 drives per volume = 34 I/Os per drive < 50 maximum random reads/writes per 2.1GB drive

For both the log and data volumes the measured I/O rates are well below the established maximums for the respective volumes. In fact both volumes have sufficient bandwidth and should not experience any significant throughput problems as the transaction rate increases.

Network Tuning

Proper network tuning can decrease the amount of network traffic, decrease the CPU workload at both the client and the server and improve the responsiveness of the database server as perceived by the end users. Increasing the size of the max network packet size can reduce the number of packets being transmitted by the database to the network resulting in increase throughput.

Experimentation will be necessary to determine the optimal setting for your environment.

Compaq System Configuration

The Compaq System Configuration utility is used to set the initial hardware configuration of the Compaq server. The Compaq SmartStart installation process will automatically set the following hardware configuration items correctly for you. If you prefer to run the Compaq

System Configuration utility manually, outside of the SmartStart process, you will need to set the following items for optimal operation of your server under NetWare.

Set the operating system to NetWare. Set the memory setting as linear for linear addressing model. Set the operating selection for the SMART Array and SMART-2 Array controllers to

NetWare.

NetWare 4.10 Configuration

By design, NetWare is highly optimized for file and print sharing services. Fortunately this high level of optimization also makes it a good platform to use as an application server. Additional optimization of NetWare can be performed to enhance the performance and throughput of Sybase

SQL Server. Some of the following NetWare parameters can be altered, not necessarily to improve the throughput of Sybase SQL Server but to reduce the wasting of resources allocated for non-database activities. The best performance of Sybase SQL Server is obtained on a properly configured and tuned dedicated server. When feasible run Sybase SQL Server on a dedicated server.

Processes

NetWare, like all operating systems, has processes that run at regular intervals performing general maintenance tasks. The functional parameters of these processes can be altered to improve the throughput of the server.

upgrade low priority threads

Enable the NetWare Set parameter upgrade low priority threads, to insure that regularly scheduled low priority NetWare maintenance processes can run. Enabling this parameter is especially important when running SQL Server with the priority boost option of -P or when running Backup Server and Monitor Server on the same system as SQL Server.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 16 Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers maximum service processes

The maximum service processes setting determines the number of concurrent NetWare processes permitted to execute on the server. Each process is responsible for relinquishing control back to

NetWare so the next process can execute. At startup, NetWare allocates a certain amount of buffers for each of these processes. If the number is set higher than necessary, buffers are allocated and unused. If set to low, a process will not be able to load. Typically the initial value set by the Compaq SmartStart installation process is sufficient. Use the Monitor nlm, General

Information screen to report on the maximum server processes currently loaded. If this number approaches the current setting consider increasing the initial value for maximum service

processes.

Memory

Most problems occur when NetWare is unable to satisfy a request for additional memory. Under

NetWare this can happen if you frequently load and unload nlms that don’t properly release memory back to the free buffer pool. The memory can become fragmented resulting in bizarre behavior or a system abend. To avoid this we recommend that the garbage collection process be configured to aggressively recover memory buffers.

For dedicated Sybase SQL Servers you should maintain at least 10% of the original cache buffers as free cache buffers. On non-dedicated servers this value should be at least 20%. Free cache buffers are reported as total cache buffers by the NetWare Monitor utility. Each NetWare buffer is 4KB in size. Use the NetWare Monitor utility, General Information screen to obtain the values for original cache buffers and total cache buffers or look on the Resource Utilization screen for the percentage of cache buffers left on the system.

garbage collection interval

Set the garbage collection interval to 1 minute. NetWare will check once a minute to see if the garbage collection process needs to run. This forces NetWare to aggressively pursue recently unallocated memory and return it back to the free buffer chain. The garbage collection process is unable to recover memory fragments larger than 1 MB. This limitation can cause memory fragmentation problems.

Even with aggressive garbage collection techniques NetWare still may not have enough nonfragmented memory to load another nlm. The NetWare console will display warning messages about running out of cache memory allocations. When these warning messages appear the only way to de-fragment and reclaim the NetWare memory is to restart the server. By rearranging the order in which nlms are loaded and unloaded you maybe able to reduce or avoid the fragmentation of NetWare memory thus permitting the loading of another nlm.

number of frees for garbage collection

Set the number of frees for garbage collection parameter to 100. This informs NetWare to wake up the garbage collection process as soon as the number of buffers released by processes reaches

100.

minimum free memory for garbage collection

Set the minimum free memory for garbage collection parameter to 1000. This informs NetWare to wake up the garbage collection process whenever a process requests a minimum of 1000 bytes.

File Caching

File caching is not important to the performance of Sybase SQL Server on dedicated or nondedicated systems. Sybase SQL Server uses the directfs nlm to bypass the NetWare file caching and directly access its database files.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers Page 17 read ahead enabled

Set read ahead enabled to off. When read ahead is enabled and sequential file accesses are being performed, a background process will read the next block that it assumes will be requested by the application into the file cache buffer. Sybase SQL Server doesn’t perform any NetWare sequential file accesses, it manages its own database device accesses via the directfs nlm. By disabling the read ahead enabled feature you prevent the background process from performing unnecessary reads.

minimum file cache buffers

Set the minimum file cache buffers parameter to 20. This setting determines the number of file cache buffers to be left by NetWare exclusively for file caching. By setting this to the minimum value, fewer cache buffers will be allocated by NetWare, leaving more buffers available for

Sybase SQL Server.

File System

The NetWare file system is designed for optimal storage and access of data files and applications by many users. Sybase bypasses the standard NetWare file system access routines and directly accesses the database devices via the directfs nlm. Some features of the NetWare file system can be reconfigured to improve the overall performance or increase resources available to Sybase

SQL Server volume block size

Set the volume block size to 64K during the creation of the volume from the Compaq SmartStart process or from the NetWare Install nlm. This parameter defines the minimum block size that the NetWare file system can allocate to a particular file. Since Sybase bypasses the NetWare file system CLIB routines, changing its value from the suggested size will not affect overall performance. It will minimize the amount of memory that NetWare will use for caching the directory structures, leaving NetWare with more buffers to dedicate to Sybase memory structures.

enable file compression

Set the parameter enable file compression to off. If enabled, NetWare will dynamically start a thread looking for files to compress, this can impact the performance of the Sybase SQL Server.

Sybase database files (devices) are allocated at a pre-determined maximum file size during the disk initialization process and managed by the SQL Server, therefore file compression is not necessary.

sub-block allocation

Disable sub-block allocation during the creation of the volume from the Compaq SmartStart process or from the NetWare Install nlm. Sub-block allocation allows multiple files to exist within one NetWare volume block. When sub-block allocation is enabled, multiple files can exist within a single NetWare file block on disk. Because the smallest Sybase disk initiation size is

512 Sybase pages (1MB) and NetWare blocks can vary from 4 to 64KB its highly unlikely that one will gain any additional disk storage. Access times to the files on the NetWare volume will be improved slightly, due to alignment of the start of the file coinciding with the start of the block.

enable disk read after write verify

Set the enable disk read after write verify parameter to off. You will reduce the amount of I/O that NetWare performs to the disk drive and for some disk device drivers you are enabling them to perform direct I/O via the directfs nlm. The enable disk read after write feature was necessary

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 18 Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers in the early days of NetWare when disk drives had reliability problems. It is no longer necessary with the high levels of reliability that disk drives today have. In fact , when enabled, some

NetWare disk device drivers ignore the setting all together.

immediate purge of deleted files

Set the immediate purge of deleted files to on. When immediate purge of deleted files is enabled the disk space occupied by the file is immediately released and ready for reallocation. In a file sharing environment this setting is usually set to off so the system administrator can recovery a file that was accidentally deleted.

file delete wait time

Set the file delete wait time to 1 minute. This is the maximum amount of time that will elapse after the user deletes a file and the start of the purge process. This setting is irrelevant when

immediate purge of deleted files is set to on.

minimum file delete wait time

Set the minimum file delete wait time to 30 seconds. This is the minimum amount of time that will elapse after the user deletes a file and the start of the purge process. This setting is irrelevant when immediate purge of deleted files is set to on.

remirror block size

The remirror block size can be set in 4K increments up to 32K. A setting of 1 = 4K, 2 = 8K … 8

= 32K. This setting defines the size of the block transfer utilized by the NetWare controller duplexing remirror process. Setting the remirror block size to larger values can reduce the time necessary to re-synchronize a NetWare controller duplexed volume but at the expense of additional memory buffers. Typically the setting established by the Compaq SmartStart installation process is acceptable and should not be changed. If you are not using NetWare controller duplexing set the remirror block size to 1 to reduce the size of the buffers initially allocated by the remirror process.

concurrent remirror requests

The concurrent remirror requests setting defines the number of concurrent remirror requests per logical NetWare partition. The number of outstanding requests can be set from a minimum of 2 up to a maximum of 32. Increasing this value can reduce the time necessary to re-synchronize a

NetWare controller duplexed volume but at the expense of additional memory buffers and possible higher I/O rates for the NetWare volumes. The total amount of memory used for the remirror requests is the product of the values for remirror block size and concurrent remirror

requests. Typically the setting established by the Compaq SmartStart installation process is acceptable and should not be changed. If you are not using NetWare controller duplexing set the

concurrent remirror requests to the minimum value of 2. This reduces the total number of buffers initially allocated by the remirror process.

mirrored devices are out of sync message frequency

The mirrored devices are out of sync message frequency determines the frequency that NetWare wakes up the process to verify that the NetWare controller duplexed volumes are in synchronization. The process can be set to start as frequently as every 5 minutes up to a maximum of 9999 minutes (approximately 7 days). If the volumes are out of synchronization,

NetWare issues a message to the console and the NetWare remirror process will be initiated.

Typically the setting established by the Compaq SmartStart installation process is acceptable and should not be changed. If you are not using NetWare controller duplexing set the mirrored

devices are out of sync message frequency to its maximum value of 9999.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers Page 19

Communications

Communication buffer management is essential to providing stable and reliable network communication between the server and the server.

maximum physical receive packet size

Set the maximum physical receive packet size to the value recommended by the network card vendor. Remember to set this parameter to the same value for all network cards on the LAN segment. Set this to the largest packet size supported by your protocol and network interface boards. Larger numbers will simply be a waste of memory because the packets will not be utilizing that memory space, but the operating system will still have it allocated to the packet buffers. Setting this value too small will increase the traffic on the network, by increasing the number of packets required to transmit the same amount of information. For Compaq NetFlex

Network Interface Controllers the settings would be 1514 for 10Mbs Ethernet, 2154 for 4Mbs

Token-Ring, and 4202 for 16Mbs Token-Ring.

minimum packet receive buffers

Start the server using the default value for minimum packet receive buffers, monitor it during the course of a normal period of activity and adjust as necessary. Packet receive buffers are used by

NetWare to buffer up the incoming requests from the network while the processor is busy servicing other requests. Set this value high enough to avoid having buffers dynamically allocated during run time. Using the NetWare Monitor nlm, select Available Options,

LAN/WAN information, Available LAN Drivers, select the driver, and note the value for No

ECB available count. If the No ECB available count value is increasing, increase the setting for the minimum packet receive buffers in the Startup.ncf file and restart the server. You may also need to increase the setting for maximum packet receive buffers if the setting for minimum packet

receive buffers would exceed the current value.

maximum packet receive buffers

Refer to the discussion of minimum packet receive buffers for more information.

NetWare Partitions

Performance optimization of the NetWare partitions on a SMART or SMART-2 Drive Array can result in a 20 to 40 percent increase in the drive arrays performance. Use the Compaq Drive

Array Optimization Utility, Cpqdaopt nlm, to determine the correct Hot Fix Redirection Area settings for the NetWare Partitions. Refer to the Compaq SMART SCSI Array Controller User

Guide and the Compaq SMART-2 Array Controller User Guide for more detailed information.

Upgrading From Previous Sybase Versions to System 11

If you are running a previous version of Sybase SQL Server on NetWare 3.11/3.12 or NetWare

4.0x it is recommended that you upgrade to NetWare 4.10 before upgrading to Sybase System 11.

You can directly upgrade from Sybase SQL Server version 4.2.x to Sybase System 11. Compaq and Sybase do not recommend or support Sybase System 11 running on NetWare 3.11/3.12, 4.0x

or SMP versions.

Sybase System 11 Configuration

Sybase SQL Server provides the database administrator with a wide variety of configuration options. The default settings for the sp_configure parameters are sufficient to get SQL Server up and running But for optimal performance you will need to alter these parameters. For details tuning these parameters refer to the topics covered later in this paper.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 20 Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers

It is possible to configure the parameters such that you cannot start SQL Server. If this happens, you can use a normal text file editor like Novell Edit to access the sys:\servername.cfg file and set the offending parameter to a more appropriate value.

sp_configure command

The sp_configure command sets the values for the Sybase SQL Server tunable parameters. Some

sp_configure values take effect dynamically as you change them. Others require you to stop and restart SQL Server to take effect. Use ISQL to ensure that the sp_configure run_value and config_value of the items you changed match before permitting additional users onto the system.

total memory

The value for total memory determines the number of Sybase pages that Sybase SQL Server allocates at startup from NetWare. One Sybase page is equal to 2KB. NetWare memory buffers are 4KB in size. Therefore it takes 2 Sybase pages to equal one NetWare memory buffer. To convert Sybase pages to MB simply divide the number of pages by 512. To convert Sybase pages to NetWare memory buffers simply divide the number of pages by 2. You should set this value such that there are al least 10% free buffers on a dedicated server and 20% free buffers on a nondedicated server. The percentage of free buffers is determined by the following method:

(total cache buffers / original cache buffers) * 100

The values for total cache buffers and original cache buffers are reported by the NetWare

Monitor utility on the General Information screen. The percentage of free cache buffers is also reported on the Resource Utilization screen.

procedure cache percent

The value for procedure cache is expressed as a percentage of the memory that is used for storing and executing Sybase stored procedures. Refer to the Memory Tuning section of this document for information on sizing the procedure cache.

number of devices

The value for devices simply determines the maximum number of Sybase devices allowed. Each device requires approximately 512 bytes of memory. The memory required for the default setting of 10 devices is already included in the initial requirement as recommended by Sybase. If you increase the number of devices beyond 10 you will also have to increase your initial memory estimate.

number of user connections

The number of user connections can greatly impact the amount of memory required by Sybase

SQL Server. Each user connection requires a minimum of 51KB. This allocation can be effected by changing the values for default packet size and user stack size. Refer to the discussion of these topics in this section.

recovery interval in minutes

The recovery interval determines how often the server should do a checkpoint. During a checkpoint, the SQL Servers data cache area is forcibly written to disk, during which time all other database activity is suspended. Immediately after a checkpoint, user response times are slightly faster than normal until the data cache area becomes filled. Once the data cache area fills, user response times slow down to "normal" levels because of the necessary disk access and memory management.

Leave the recovery interval setting at its default value unless you are willing to take the risk of setting it to a higher value. If you set the recovery interval too long, the user response times

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers Page 21 deteriorate and become intolerable when a checkpoint occurs. If you set the recovery interval too short, it wastes valuable system processor cycles and generates excessive disk I/O.

housekeeper free write percent

The housekeeper free write percent setting determines the percentage of I/O increase above normal that the housekeeper process can generate. Typically it should be left at its default setting. When the housekeeper process detects idle CPU time it begins to flush data pages to the disk at a low priority, in a fashion similar to the checkpoint process. Unlike the checkpoint process, it does not need to flush all the data pages to disk before terminating. If the housekeeper flushes all data pages to disk it can request that the checkpoint process issue a checkpoint on the database. The purpose of the housekeeper process is to reduce the impact of the checkpoint process. Refer to the Sybase SQL Server Performance and Tuning Guide for more information on checkpoints and the housekeeper processes.

user log cache size

By increasing the user log cache size you reduce contention on writing to the log device. Setting it too high wastes memory that could be used for data caching. You will have to experiment with its setting to obtain the optimal performance on your system.

default network packet size

The default network packet size is 512 bytes. Each user connection is allocated 3 packet buffers, a read buffer, a read overflow buffer and a write buffer. A total of 1536 bytes of memory is allocated per user connection. This memory is already included in the initial allocation of 51KB per user connection. If you increase the size of the default packet size you will have to increase the per user connection initial allocation accordingly.

max network packet size

By increasing the default value of max network packet size you can reduce the number of packets being transmitted on the network. Increasing this value from 512 bytes to 4096 bytes reduced the time required to perform a bulk load of a database. Additionally queries that return large amounts of data will be more responsive because fewer packets need to be assembled for transmission from the server to the client.

additional network memory

Each user has 1536 bytes of network memory that is calculated in the base memory requirements for the user. Additional network memory is necessary when you increase the size of the max

network packet size. Additional network memory is statically allocated at the startup of SQL

Server. As you increase the max network packet size and number of user connections you need to provide additional network memory. Each user connection requires 3 buffers areas.

32 user connections * 4096 max network packet size * 3 buffers for each user = 393216 bytes

323216 bytes * 2% = 6464 bytes for overhead

323216 bytes + 6464 bytes for over head = 329680 bytes rounded up to next Sybase page =

329728 bytes

In the above example, for 32 user connections with a max network packet size of 4096 require minimum of 393216 bytes. Add to this the overhead of 2% for the and round up to the next

Sybase page for a total of 329728 bytes of additional network memory.

number of extent i/o buffers

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 22 Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers

Increasing the number of extent i/o buffers can speed up the process of creating or re-indexing a table. If you increase the number of extent i/o buffers you will also have to increase the number

of sort buffers. Only one process at a time can access the extent i/o buffers. If two or more indexing commands are executing concurrently the first one started gets all the buffers. For this reason indexing is best done in a serial manner. In out testing, values between 50 and 100 extent i/o buffers provided the best throughput and minimized the elapsed time for the indexing activities. Each extent i/o buffer consists of 8 Sybase pages or 16KB. Remember to include this memory allocation in your initial estimate. Refer to the Sybase SQL Server System

Administration Guide for more information.

number of sort buffers

Increasing the number of sort buffers can reduce the time to create an index or re-index a table.

The value for number of sort buffers should be 8 times the value of number of extent i/o buffers.

Refer to the section in this document on number of extent i/o buffers for more information number of pre-allocated extents

During BCP load operations, extents (1 extent equals 8 Sybase pages) are allocated from the page manager. Each request to the page manager generates a log record. By increasing the number of

pre-allocated extents you reduce the number of requests to the page manager and reduce the number of log records generated resulting in increased throughput of the BCP load operation.

Refer to the Sybase SQL Server System Administration Guide for more details.

stack size

Typically you will not need to increase the user stack size. The default allocation of memory used by the user stack is included in the initial 51KB per user connection. If you increase the user stack size, recalculate the per user connection and initial memory requirement estimate.

Refer to the Sybase SQL Server System Administration Guide for details on when to increase the stack size.

event buffers per engine

Increasing the number of event buffers per engine to 2000, can reduce the performance impact of running the Sybase SQL Monitor Server. If you are not using Sybase SQL Monitor Server set the

event buffers per engine to one.

Sybase Sybinit Utility

The Sybinit utility is responsible for installing and configuring System 11 components. For the utility to work properly you need to check a couple of items BEFORE proceeding with the installation.

The Sybinit utility will use the server name in the generation of unique names for various file names, database objects, default logins and default passwords. All of these can be changed during the install process but you can streamline the installation if you define your server name to be a maximum of eight characters in length. Preferably unique in the first three or four characters. This is not a limitation of the Sybinit utility itself but a residual effect from the DOS compatible file naming convention of eight-dot-three characters.

Also if you are using TCP/IP as your network protocol make certain that the file

SYS:\ETC\HOSTS exists and that your servers IP address and name are defined in it. The

Sybinit utility will search this file looking for your server name to use in the definition of the listener server for TCP/IP.

Sybase Audit Feature

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers Page 23

The Sybase audit trail feature is an optional feature of Sybase SQL Server for environments where additional security levels are necessary. On a properly configured and tuned server, enabling this feature will have minimal impact the overall performance of the server.

The audit trail activity is composed almost exclusively of sequential writes and should be isolated to its own fault tolerant device. The amount of I/O activity to the audit trail database is dependent upon the level of security implemented. Refer to the section Checking Disk I/O Rate to determine if you have sufficient I/O bandwidth for the audit device. If you have insufficient

I/O bandwidth, the addition of more disk drives and possibly another SMART Array Controller will be necessary.

Installing From CD-ROM

To install Sybase System 11 from the Compaq CD-ROM drive you will need to load the following device drivers either in Startup.ncf or manually before you can access the CD-ROM drive as a NetWare volume.

Compaq SCSI based CD-ROM drive

LOAD CPQSXPT

LOAD CPQS710

LOAD CPQSCD

LOAD CPQSDSK

LOAD NWPALOAD

LOAD CDROM

CD Purge

...

CD Volume List

...

CD Mount 27

...

Volume SYBASE mounted

Compaq IDE based CD-ROM drive

LOAD IDECD.CDM

LOAD IDEATA.HAM

LOAD CDROM

...

CD Purge

CD Volume List

...

CD Mount 15

...

Volume SYBASE mounted

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 24 Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers

System Management Tools

The key to a maintaining a Sybase SQL Server system in optimal performance is to monitor the server. Look for any changes in the daily, weekly and monthly workloads that can effect the throughput of the server. If the system is used in a mission critical role, it is especially important that the administrator is notified of any fault in the system and that corrective action is taken quickly. The Novell Monitor nlm utility, Sybase SQL Monitor and Compaq Insight Manager are to be considered as a good starting point for most environments. There are many third party utilities that can further enhance the data collection, trend analysis and reporting capabilities of

NetWare, Sybase SQL Server and SNMP system management.

Novell Monitor Utility

The Novell Monitor utility is an excellent tool for determining what is happening in your

NetWare environment. You can monitor some aspects of what effect changes to the Sybase SQL

Server have on the server. For best overall monitoring, tuning and trend analysis of the database server you should team this utility up with one that is more specific to analyzing Sybase SQL

Server like, Sybase SQL Monitor.

Sybase SQL Monitor

The Sybase SQL Monitor management tool consists of two parts. The first part is the Sybase

Monitor Server which runs on the NetWare server along with Sybase SQL Server. The second part is the SQL Monitor Client which runs on a Windows based workstation and communicates to the SQL Monitor Server via Sybase Open Client for Windows.

Compaq Insight Manager

The Compaq Insight Manager (CIM) consists of two parts the server based operating system agents and a Windows based client. CIM components are located on the Compaq SmartStart and can be installed at the same time as the operating system.

The Compaq Insight Manager can be configured to do the following:

• provide pre-failure notification of hardware items that are experiencing difficulties operating at optimal performance levels

• notify you in cases of a catastrophic server hardware or software failure

• check for latest updates to system and disk drive firmware

• check for latest updates of device drivers

• provide performance and resource utilization information

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers Page 25

Conclusion

The information in this paper is not a complete tuning guide but a supplement to other tuning information provided by Sybase and Novell. To achieve an optimal configuration, there are several factors to include. Tuning the application, tuning the hardware, tuning the OS, and tuning the network are all areas that must be carefully planned and tuned. The tuning process is iterative and will be done several times to achieve the most optimal performance possible.

We hope that the information provided in this paper will help in this process. The information given is based on many years of experience in tuning Sybase on NetWare, however, each configuration is unique. Although all the hints given here have been tested extensively, do not assume that tuning a specific parameter will always give the desired result. Do not be afraid to experiment.

We welcome comments on your configurations and experiences to improve our information products in the future. Please send us any comments or suggestions on the attached form, attaching addition sheets if necessary. This will help us tailor future information products to your needs, and will enable us to make future revisions of this document and related new information products available to you.

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

Page 26 Configuration and Tuning of Sybase System 11 for NetWare on Compaq Servers

Check List of Recommendations

Initial recommendations for Sybase SQL Server 11.0.1 system running on Novell NetWare 4.10:

Design your database with performance in mind from the start

Start with minimum of 64 MB RAM

Avoid memory fragmentation, do not load and unload unnecessary NLMs and utilities at the server

Perform administrative tasks at client workstation whenever possible

Check revision levels of Novell files, update to newer revisions

Dedicate the server to Sybase SQL Server, use other servers for file and print services

Use SMART and SMART-2 SCSI Array Controllers with array accelerator enabled for increased performance

Use SMART and SMART-2 SCSI Array Controllers hardware fault tolerance features

Use 64KB block factor when setting up NetWare partitions

Disable sub-block allocation and file compression when setting up NetWare partitions

Use Novell controller duplexing with caution, CPU overhead can impact performance

Use Sybase database mirroring with caution, CPU overhead can impact performance

Use database striping methods to balance workload across multiple controllers

Standardize on one network protocol and frame type

Use Compaq Insight Manager to monitor system hardware, CPU utilization, EISA bus utilization, software and firmware revisions

Load sqlsrvr with the -P option on dedicated systems

Use Sybase SQL Monitor to monitor CPU utilization, memory allocations and device I/O rates

Use stored procedures to reduce network traffic and server CPU load

Use System Configuration Utility setting of Novell NetWare as operating system choice for

Server, SMART and SMART-2 SCSI Array Controller(s)

Increase the value of the max network packet size to help minimize elapsed times for database load activities like BCP and reduce CPU workload at the server

Install the Sybase Sybaudit device on separate disk partition for optimal performance

Upgrade to NetWare 4.10 before upgrading to Sybase System 11

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

User Registration/Evaluation Form

Please fill out and return to us this registration/evaluation form to help us keep you up to date with future revisions of this document and related new information products. Your effort will help us improve the quality of the future information products.

Name:

Title:

Company:

Address:

Phone Number:

Please evaluate the quality of this document:

Technical Accuracy

Organization

Clarity

Completeness

Timeliness

Excellent

1

1

1

1

1

Please indicate the type of environment you have at your site:

Operating Systems

‰ SCO Open Server

‰ IBM OS/2

‰ Novell NetWare

‰ SCO UnixWare

‰ Other:

RDBMS

‰ Microsoft SQL Server

‰ Microsoft Windows NT ‰ Sybase System 10

‰ Sybase System 11

‰ Oracle 7

‰Other:

2

2

2

2

2

3

3

3

3

3

4

4

4

4

4

Processing Type

Poor

5

5

5

5

5

‰ On-Line Transaction Processing

‰ Decision Support

‰ Batch Processing

‰ Other:

Please indicate the type of information you would like us to provide in the future:

‰ Configuration and Tuning

‰ Capacity Planning

‰ Integration Information

‰ Competitive Analysis

‰ Systems Management

‰ Other:

Topic Operating Systems

‰ Microsoft Windows NT

‰ Novell NetWare

‰ IBM OS/2

‰ SCO UnixWare

‰ SCO Open Server

‰ Other:

RDBMS

‰ Microsoft SQL Server

‰ Sybase System 10

‰ Sybase System 11

‰ Oracle 7

‰Other:

Additional Comments:

Return to:

Database Engineering

Compaq Computer Corporation

MailCode 090803

20555 SH 249

Houston, Texas 77070

1996 Compaq Computer Corporation, All Rights Reserved Doc No 140A/0896

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals

Download PDF

advertisement

Table of contents