Sybase Adaptive Server Enterprise on Linux

Similar documents
Operating System Performance and Large Servers 1

Oracle Database 12c: JMS Sharded Queues

Advanced SUSE Linux Enterprise Server Administration (Course 3038) Chapter 8 Perform a Health Check and Performance Tuning

IBM B2B INTEGRATOR BENCHMARKING IN THE SOFTLAYER ENVIRONMENT

WebLogic Server- Tips & Tricks for Troubleshooting Performance Issues. By: Abhay Kumar AST Corporation

The Journey of an I/O request through the Block Layer

VERITAS Storage Foundation 4.0 TM for Databases

Introduction. CS3026 Operating Systems Lecture 01

Was ist dran an einer spezialisierten Data Warehousing platform?

CIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know:

Chapter 13: I/O Systems

Jeffrey Garbus. ASE Administration. SAP* ASE 16/Sybase. 9 Rheinwerk. Publishing. Bonn Boston

VOLTDB + HP VERTICA. page

Optimizing Fusion iomemory on Red Hat Enterprise Linux 6 for Database Performance Acceleration. Sanjay Rao, Principal Software Engineer

CSE 124: Networked Services Lecture-16

Dell Microsoft Reference Configuration Performance Results

IsoStack Highly Efficient Network Processing on Dedicated Cores

What s New in MySQL 5.7 Geir Høydalsvik, Sr. Director, MySQL Engineering. Copyright 2015, Oracle and/or its affiliates. All rights reserved.

An Overview of Red Hat Advanced Server V2.1 Reliability, Availability, Scalability and Manageability (RASM) Features

Lenovo Database Configuration

Tuning Intelligent Data Lake Performance

OS-caused Long JVM Pauses - Deep Dive and Solutions

Oracle Database 10G. Lindsey M. Pickle, Jr. Senior Solution Specialist Database Technologies Oracle Corporation

Dell Microsoft Business Intelligence and Data Warehousing Reference Configuration Performance Results Phase III

Configuration changes such as conversion from a single instance to RAC, ASM, etc.

White Paper. Major Performance Tuning Considerations for Weblogic Server

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4

Oracle Database Mobile Server, Version 12.2

Performance and Optimization Issues in Multicore Computing

Oracle Performance on M5000 with F20 Flash Cache. Benchmark Report September 2011

Ultra-Low Latency Down to Microseconds SSDs Make It. Possible

SNIA Discussion on iscsi, FCIP, and IFCP Page 1 of 7. IP storage: A review of iscsi, FCIP, ifcp

CS3600 SYSTEMS AND NETWORKS

ASPERA HIGH-SPEED TRANSFER. Moving the world s data at maximum speed

Total Cost of Ownership: Database Software and Support

Guide to Mitigating Risk in Industrial Automation with Database

Extended Search Administration

Lenovo Database Configuration for Microsoft SQL Server TB

Guide to Licensed Options. SAP Sybase IQ 16.0 SP03

VERITAS Storage Foundation 4.0 for Oracle

Chapter 11: Implementing File Systems

ORACLE Linux / TSC.

RIGHTNOW A C E

The Role of Database Aware Flash Technologies in Accelerating Mission- Critical Databases

Deploy a High-Performance Database Solution: Cisco UCS B420 M4 Blade Server with Fusion iomemory PX600 Using Oracle Database 12c

Adapted from: TRENDS AND ATTRIBUTES OF HORIZONTAL AND VERTICAL COMPUTING ARCHITECTURES

ORACLE MESSAGEQ ORACLE DATA SHEET KEY FEATURES AND BENEFITS

Capriccio : Scalable Threads for Internet Services

System recommendations for version 17.1

Chapter 11: Implementing File

Crescando: Predictable Performance for Unpredictable Workloads

MySQL Database Scalability

Optimizing RDM Server Performance

Linux Driver and Embedded Developer

Chapter 11: Implementing File Systems. Operating System Concepts 9 9h Edition

Horizontal Scaling Solution using Linux Environment

DELL EMC ISILON F800 AND H600 I/O PERFORMANCE

Survey of Oracle Database

Improve Web Application Performance with Zend Platform

PowerCenter 7 Architecture and Performance Tuning

Course Description. Audience. Prerequisites. At Course Completion. : Course 40074A : Microsoft SQL Server 2014 for Oracle DBAs

Linux Performance Tuning

<Insert Picture Here> Value of TimesTen Oracle TimesTen Product Overview

An AIO Implementation and its Behaviour

OPERATING SYSTEM. Chapter 12: File System Implementation

Big Servers 2.6 compared to 2.4

Oracle Exadata: Strategy and Roadmap

Accelerating Microsoft SQL Server Performance With NVDIMM-N on Dell EMC PowerEdge R740

Proceedings of the Linux Symposium

The Oracle Database Appliance I/O and Performance Architecture

Mellanox InfiniBand Solutions Accelerate Oracle s Data Center and Cloud Solutions

WHITE PAPER AGILOFT SCALABILITY AND REDUNDANCY

PRESERVE DATABASE PERFORMANCE WHEN RUNNING MIXED WORKLOADS

QLogic 2500 Series FC HBAs Accelerate Application Performance

A GPFS Primer October 2005

Operating System Design Issues. I/O Management

Course 40045A: Microsoft SQL Server for Oracle DBAs

SEDA: An Architecture for Well-Conditioned, Scalable Internet Services

Hewlett Packard Enterprise HPE GEN10 PERSISTENT MEMORY PERFORMANCE THROUGH PERSISTENCE

Oracle: From Client Server to the Grid and beyond

davidklee.net gplus.to/kleegeek linked.com/a/davidaklee

Four Steps to Unleashing The Full Potential of Your Database

Using IDS v10 on Linux Kernel 2.6

Top Trends in DBMS & DW

CSE 124: Networked Services Fall 2009 Lecture-19

Feeling odd Using new OS and CPU features to speed up large file copying. Sebastian Krahmer stealth [at] openwall net.

Why Choose Percona Server For MySQL? Tyler Duzan

NVMFS: A New File System Designed Specifically to Take Advantage of Nonvolatile Memory

A Case Study of Real-World Porting to the Itanium Platform

White Paper. Low Cost High Availability Clustering for the Enterprise. Jointly published by Winchester Systems Inc. and Red Hat Inc.

Using the SDACK Architecture to Build a Big Data Product. Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver

Total Cost of Ownership: Database Software and Support

Chapter 10: File System Implementation

Oracle Exadata X7. Uwe Kirchhoff Oracle ACS - Delivery Senior Principal Service Delivery Engineer

PAC094 Performance Tips for New Features in Workstation 5. Anne Holler Irfan Ahmad Aravind Pavuluri

Chapter 9 Memory Management

FAST SQL SERVER BACKUP AND RESTORE

Accessibility Features in the SAS Intelligence Platform Products

May 1, Foundation for Research and Technology - Hellas (FORTH) Institute of Computer Science (ICS) A Sleep-based Communication Mechanism to

Choosing Hardware and Operating Systems for MySQL. Apr 15, 2009 O'Reilly MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc

Transcription:

Sybase Adaptive Server Enterprise on Linux A Technical White Paper May 2003 Information Anywhere

EXECUTIVE OVERVIEW ARCHITECTURE OF ASE Dynamic Performance Security Mission-Critical Computing Advanced Data Management Management Of External Non-Relational Content ASE ON LINUX Large File Support/64-bit File I/O Asynchronous I/O LINUX KERNEL PERFORMANCE ENHANCEMENTS Kernel Asynchronous I/O Eliminate Copy to Bounce Buffers Reduce contention for io_request_lock Improved Process Scheduler PERFORMANCE TUNING OF ASE ON LINUX Max Configurable Shared Memory Max Chunking Size For Asynchronous I/O Swap Elvtune TCP Tuning CONCLUSION Sybase Adaptive Server Enterprise 12.5 on Linux P- 2

EXECUTIVE OVERVIEW The performance/technology enhancement coming about every 18 months on Intel Processors and the commodity nature of the Intel platform coupled with the maturity of Linux operating system has made available a very robust yet inexpensive platform for business applications. In the past 3 years, the Linux operating system has matured in availability, reliability and manageability. It has evolved from merely hosting Web Servers, File/Print Servers to running enterprise level business applications like database engines, middleware and ISV applications. It continues to make strides in high performance computing that is pioneering several cluster efforts on Linux. Major distributors like Red Hat, SuSE, Red Flag, and United Linux are adding enterprise-level features to their releases and support models by providing longer release cycles, product roadmaps and enterprise-level testing. In 1998, Sybase Adaptive Server Enterprise (ASE) 11.0.3.3 was the first enterprise class database that was made available on Linux systems. Today, Sybase has made Linux a core platform and is committed to continuing to support Red Hat, United Linux and Red Flag into the future. In absolute alignment with the Linux philosophy, Sybase ASE itself was designed from the ground up to be easy to manage and to use hardware resources sparingly. Furthermore, ASE is designed to support the demanding requirements of transaction-intensive, mission-critical OLTP and decision support applications the types of applications that are rapidly moving to the Linux platform. ASE s efficient query optimization delivers unsurpassed levels of performance and scalability make ASE the best enterprise-class database engine available on Linux. The combination of Intel and Linux is driving down Total Cost of Ownership (TCO) and is driving up Return On Investment (ROI). ASE is the best data manager available to further lower the TCO and increase the ROI of business applications on the Linux platform. Sybase Adaptive Server Enterprise 12.5 on Linux P- 3

ARCHITECTURE OF ASE ASE runs as an application on top of an operating system and depends solely on the services exported by the operating system to function. ASE uses operating system services for process creation and manipulation; device and file processing; shared memory creation and manipulation; security requests such as interprocess communication. The hardware upon which the operating system runs is completely transparent to ASE - ASE sees only the operating system s user interfaces. ASE uses its own thread package that provides the world-class performance. Dynamic Performance With its unique tuning capabilities, ASE can adjust its cache of index pages and data, reduce I/O costs, provide user priorities, control resources at the CPU level, or limit resources for a query or batch. Quick and easy adjustments allow DBAs to reconfigure the system without rebooting. Security Row-level storage security, is an optional feature of ASE which allows the DBA to specify which rows in a table can be accessed by each user. SSL protocol can be used for integrity checking and encryption mechanisms to protect data from unauthorized access. In conjunction with SSL, digital certificates can be used to identify and authenticate servers, while clients can be authenticated using the existing username/password mechanism. Sybase Adaptive Server Enterprise 12.5 on Linux P- 4

Mission-Critical Computing Sybase ASE continues to support mission-critical systems with many new features including Expanded Row and Data Sizes, Compressed Backups, Enhancements to the Component Integration Services (CIS), SQL Debugger, Union in Views and Superior Management of Temporary Data. Advanced Data Management Sybase ASE is designed to optimize and extend the capabilities of the database application developer by providing new tools for handling emerging e-business data types. For Advanced XML Information Management, ASE provides a simple, flexible, and powerful XQL query engine to allow dynamic content generation from XML document storage without requiring custom code to handle XML documents. EJB components can optionally be deployed and run inside the database engine, resulting in better performance because of reduced network communication overhead. Management Of External Non-Relational Content Sybase ASE offers an option that provides an easy and cost-effective solution to manage external content. Through proxy tables, all information in an Operating System directory can be accessed. Using already familiar SQL commands, information in Operating System files can be created, deleted, read or revised. SYBASE ASE ON LINUX Linux Operating System provides a Unix-like programming interface. This allows for an easy port of Sybase ASE delivering performance, stability and reliability to the Linux platform. Sybase ASE is designed to be compatible across platforms, so applications developed for other operating systems can be moved to Linux with no conversion of the code. Red Hat has introduced several enhancements to Enterprise Linux (formerly known as Advanced Server) 2.1. ASE 12.5.0.3 benefits from all of these features. All of the Red Hat improvements are detailed in the LINUX KERNEL PERFORMANCE ENHANCEMENTS section of this paper. AVAILABLE PLATFORMS Red Hat 6.2 Red Hat 7.2 Large File Support Async I/O using Posix Real Time threads Red Hat Enterprise Linux 2.1 Large File Support Async I/O using Kernel Copy bounce buffer enhancements Reduced contention on io_request_lock Process Scheduler Enhancements 2.7GB addressable memory using mapped_base For more up-to-date platform support and certification information (including United Linux, Red Flag and Linux/Itanium), visit www.sybase.com/linux/ase Sybase Adaptive Server Enterprise 12.5 on Linux P- 5

Large File Support/64-bit File I/O ASE 12.5.0.3 provides large file support (LFS) for both regular file system files and raw devices. This removes the limitation of using only 2GB devices for data or log. ASE 12.5.0.3 can support up to 8 Terabytes of data. Asynchronous I/O Asynchronous I/O allows a process to submit I/O request without waiting for the completion. This allows Sybase ASE to submit asynchronous I/O request and while the I/O request is processed Sybase ASE scheduler can pick up another thread and schedule and run. By default, Sybase ASE 12.5.0.3 is shipped with asynchronous I/O enabled. Sybase ASE 12.5.0.3 does transparent asynchronous I/O depending on whether it is running on Red Hat 7.2 (Asynchronous I/O using RT Posix threads) or Red Hat Advanced Server 2.1 (Kernel Asynchronous I/O). To deliver higher performance, Sybase ASE uses buffer caches to cache database pages instead of doing an actual physical I/O. ASE also tries to avoid asynchronous I/O events outside of the critical path of a transaction. The general optimization is to avoid I/O if possible; if it must be done, make the I/O asynchronous and eliminate random I/O operations. Sybase Adaptive Server Enterprise 12.5 on Linux P- 6

LINUX KERNEL PERFORMANCE ENHANCEMENTS Red Hat has introduced several enhancements in their Advanced Server 2.1 release. ASE 12.5.0.3 benefit from all of these features. The following section describes the enhancements features and how ASE takes advantage of this. Kernel Asynchronous I/O One of the main functions of a RDBMS kernel is to use local cached data instead of doing an actual physical I/O. The goal is to also remove any possible synchronous I/O events out of the critical path of a transaction. The general optimization is to avoid I/O if possible; if it must be done, make the I/O asynchronous and eliminate random I/O operations Asynchronous I/O allows a process to submit I/O request without waiting for the completion. This allows Sybase ASE to submit asynchronous I/O request and while the I/O request is processed can pick up another thread and schedule and run. Unlike Oracle Sybase ASE 12.5.0.3 is by default shipped with asynchronous I/O enabled. Eliminate Copy to Bounce Buffers On IA32 systems, physical memory is classified as low memory (first 1GB of physical memory) and high memory (remaining physical memory). While I/O request from low memory was done directly (Direct Memory Access DMA), I/O requests from high memory uses a temporary buffer from the low memory and copy data from/to the high memory buffer. This double copying referred to as bounce buffering significantly degrade system performance. Red Hat Advanced Server 2.1 greatly reduces and eliminates in some many cases the use of bounce buffers. Reduce Contention for io_request_lock Each I/O device in the system has an associated request queue, which provides ordering and memory resources for managing I/O re-quests to the device. In earlier versions of the kernel, all I/O request queues are protected by a single io_request_lock, which can be highly contended on SMP machines with multiple disks and a heavy I/O load. This forced all processes performing I/O to compete for this single resource even when performing I/O to unrelated devices, creating an artificial bottleneck that resulted in reduced overall system I/O throughput. Red Hat Linux Advanced Server 2.1 has implemented a new, finegrained locking scheme for the block device subsystem, which includes a separate Sybase Adaptive Server Enterprise 12.5 on Linux P- 7

lock for each individual block device. The result is a much higher I/O throughput for SMP systems with multiple I/O controllers under heavy database load. Improved Process Scheduler Red Hat Advanced Server 2.1 has multiple compute queues instead of single compute queue that is available in the standard kernel. This eliminated spinlock contention on the scheduler. Red Hat Advanced Server 2.1 also provides process affinity to use the L1/L2 cache efficiently in the new generation processors. The improved process scheduler as improved 400% over a 2-way system and 6000% over a 8-way system compared to standard Linux kernel. PERFORMANCE TUNING OF ASE ON LINUX Tuning is a natural extension to system software like Linux Operating System and Sybase ASE. Tuning the Linux Operating System makes Sybase ASE run better on Linux. The following section provides tuning info and tips. Max Configurable Shared Memory The default value for LINUX kernel parameter kernel.shmmax is too low for Sybase ASE to start. Reconfigure this parameter to the size of max memory that Sybase ASE will be configured with. Sybase ASE max memory can be configured up to 2.7GB Add the following command in /etc/rc.local or echo <max shm in bytes> > /proc/sys/kernel/shmmax Add the following in /etc/sysctl.conf and run /sbin/sysctl p (as superuser) kernel.shmmax = <max_memory in bytes> Max Chunking Size For Asynchronous I/O The fs.aio-max-size parameter specifies the maximum block size that one single AIO write/read can do. Using the default value of 131072 (128K) will chunk the AIO done by ASE for create, alter database command. Reconfigure this value from 131072(128K) to 1048576(1MB). This can be done either of two ways. Sybase recommendation is to use either one of them. Sybase Adaptive Server Enterprise 12.5 on Linux P- 8

Add the following in /etc/rc.local echo 1048576 > /proc/sys/fs/aio-max-size or Add the following in /etc/sysctl.conf and run /bin/sysctl p (as superuser) fs.aio-max-size=1048576 2.7GB addressable memory (Red Hat AS 2.1 only) Lowering the mapped base will allow ASE to address up to 2.7GB of memory (as against 1.7GB of memory). In RUN_SERVER file in $SYBASE/ASE-12_5/install directory insert the following line before starting the server. echo 268435456 > /proc/$$/mapped_base Swap We recommend that the minimum swap size be the size of physical memory available in the box. Elvtune On systems that are consistently doing a large amount of disk I/O, tuning the disk I/O elevators may be useful. This is a 2.4 kernel feature that allows some control over latency vs throughput by changing the way disk I/O elevators operate. This works by changing how long the I/O scheduler will let a request sit in the queue before it has to be handled. Since the I/O scheduler can collapse some request together, having a lot of items in the queue means more can be coalesced, which can increase throughput. Changing the max latency on items in the queue allows you to trade disk I/O latency for throughput, and vice versa. The tool "/sbin/elvtune" (part of util-linux) allows you to change these max latency values. Lower values means less latency, but also less throughput. The values can be set for the read and write queues separately. To determine what the current settings are, just issue: Sybase Adaptive Server Enterprise 12.5 on Linux P- 9

/sbin/elvtune /dev/sda Substituting the appropriate device of course. Default values are 8192 for read, and 16384 for writes. To set new values of 512 for read and 8192 for example: /sbin/elvtune r 512 w 8192 /dev/sda Note that these values are for example purposes only, and are not recommended tuning values The units of these values are basically "sectors of writes before reads are allowed". The kernel attempts to do all reads, then all writes, etc in an attempt to prevent disk io mode switching, which can be slow. So this allows you to alter how long it waits before switching. One way to get an idea of the effectiveness of these changes is to monitor the output of `iostat -d -x DEVICE`. The "avgrq-sz" and "avgqu-sz" values (average size of request and average queue length, see man page for iostat) should be affected by these elevator changes. For example lowering the latency should cause the "avqrq-sz" to go down. TCP Tuning For servers that are serving up huge numbers of concurrent sessions, there are some TCP options that should probably be enabled. In order to optimize TCP performance for this situation, we recommend tuning the following parameters. or echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range Include the following in /etc/sysctl.conf and run /sbin/sysctl p net.ipv4.ip_local_port_range=1024 65000 Increasing the amount of memory associated with socket buffers can often improve performance. The following configuration will reduce the amount of work the TCP stack has to do, so is often helpful in this situation. echo 0 > /proc/sys/net/ipv4/tcp_sack echo 0 > /proc/sys/net/ipv4/tcp_timestamps echo 0 > /proc/sys/net/ipv4/tcp_window_scaling Sybase Adaptive Server Enterprise 12.5 on Linux P- 10

or Include the following in /etc/sysctl.conf and run /bin/sysctl p net.ipv4.tcp_sack=0 net.ipv4.tcp_timestamps=0 net.ipv4.tcp_window_scaling=0 CONCLUSION The features provided by Red Hat Advanced Server, the stability provided by major distributors (SuSE, Red Hat, Red Flag and United Linux) and major application vendors support elevate Linux Operating System to enterprise class. The tips and techniques provided here along with the features provided by Red Hat Advanced Server will make Sybase ASE run better on your systems running Linux Operating System. Sybase Adaptive Server Enterprise 12.5 on Linux P- 11