Thursday Feb 13, 2014

Getting Your Hands Dirty with Load Balancing

What Does the Integrated Load Balancer Do?

According to the Oracle Solaris 11 documentation, the Integrated Load Balancer (ILB) intercepts incoming requests from clients, decides which back-end server should handle the request based on load-balancing rules, and then forwards the request to that server. By spreading one server's work load across multiple servers, ILB improves reliability, minimizes response time, and improves performance of the server.

The documentation describes features, components, how it works, and even the command line interface. The docs help you understand what your load balancing toolset is, but if you want to get your hands dirty, try this:

Hands-On Lab - Deploying the Integrated Load Balancer in 60 Minutes

by Amir Javanshir

This is a cool lab because it walks you through the steps that set up an environment that enables you to play with the load balancer. The steps consist more or less of:

  • Installing Solaris
  • Setting up the virtual switches and their VNICs
  • Configuring the zone for the load balancer, including its access to the VNICs
  • Cloning that zone into three other zones
  • Configuring each cloned zone to run Apache Tomcat
  • Installing the load balancer on the first zone

Once the environments are set up, the lab walks you through several exercises to help you become familiar with the different ways in with the load balancer monitors and manages traffic. This lab is a whole lot of fun.

More Hands-On Labs for Oracle Solaris 11

You can find all the hands-on labs for Oracle Solaris 11 here:

All Hands-On Labs for Oracle Solaris 11

- Rick

Follow me on:
Blog | Facebook | Twitter | YouTube | The Great Peruvian Novel

Tuesday Jan 07, 2014

Tips for Using Linux Huge Pages

Ed Whalen is the Chief Technologist at Performance Tuning Corp. He knows an awful lot about making databases run faster, including the use of Linux Huge Pages. Here are two of his very helpful resources.

Tech Article: How to Configure x86 Memory Performance for Large Databases

by Ed Whalen, Oracle ACE

Performance issues in large databases are not easy to detect using normal analysis methods such as AWR reports and OS tools such as sar, top, and iostat. And yet, if you configure your memory appropriately in x86 environments, your database can run significantly faster. This article describes you can use Linux Huge Pages to do just that.

Ed covers x86 virtual memory architecture, Linux memory management, and enabling Linux Huge Pages. See the article here.

Video Interview: What Are Linux Huge Pages?

with Ed Whalen, Oracle ACE

Ed Whalen, Oracle ACE, explains Linux huge pages, the huge performance increase they provide, and how sysadmins and DBA's need to work together to use them properly. Taped at Oracle Open World 2013.

photograph of cliff face in Perry Park, Colorado, copyright Rick Ramsey

- Rick

Follow me on:
Blog | Facebook | Twitter | YouTube | The Great Peruvian Novel

Thursday Oct 10, 2013

Who Is Right - the Hardware or the Software?

Michael Palmeter and Renato Ribeiro enjoy a good duel. Michael represents Oracle Solaris. Renato represents SPARC servers. Watch and listen as they argue their case on two questions of interest to sysadmins. Taped at Oracle OpenWorld 2013.

What Determines Performance - The Hardware or the Software?

Michael Palmeter vs Renato Ribeiro

Is the hardware or the software more important to the performance of a system? Oracle Solaris product director Michael Palmeter goes mic-to-mic with Renato Ribeiro, Oracle SPARC Director. Taped at Oracle OpenWorld 2013.

What Kind of Scalability is Better - Horizontal or Vertical?

Renato Ribeiro vs Michael Palmeter

Is Oracle's approach to large vertically scaled servers at odds with today's trend of combining lots and lots of small, low-cost servers systems with networking to build a cloud, or is it a better approach? Michael Palmeter, Director of Solaris Product Management, and Renato Ribeiro, Director Product Management for SPARC Servers, discuss.

photo of 2005 Fat Boy taken at Little Big Horn National Monument by Rick Ramsey

- Rick

Follow me on:
Blog | Facebook | Twitter | Personal Twitter | YouTube | The Great Peruvian Novel

Friday Sep 13, 2013

About LTFS - Library Edition

Oracle just launched the T10000D tape drive with its incredible 8.5 TB of native capacity and LTFS-Library Edition (LTFS-LE), which expands the LTFS concept to an entire library. The Oracle T10000D has some neat features that I would like to address in the future, but today I’d like to talk about LTFS-LE since it really is a new concept.

About LFTS-LE

LTFS is an open source specification for writing data to tape on single tape drives. It is supported by Oracle and other tape vendors. The version you can download from Oracle is called StorageTek LTFS, Open Edition (LTFS-OE).

When an LTFS-compatible T10000 or LTO tape is formatted for LTFS, it is split into two partitions. The first partition holds the metadata that tells the user which files are on the tape and where they are located. The second partition holds the files themselves.

Benefits of Using LTFS-LE

There are a few nice benefits for those who utilize LTFS. Most important is the peace of mind that you will always be able to recover your data regardless of your backup application or any other proprietary software because it’s based on an open source specification. It also improves the portability of tape because two parties don’t both need the same application to read a tape. In fact, LTFS has seen tremendous adoption in industries that require the ability to transport large amounts of data.

The limitation with the open source version of LTFS is that it’s limited to just a single drive. Users with even the smallest archives would like to have their entire environment to be LTFS-based. That’s the impetus for StorageTek LTFS, Library Edition (LTFS-LE), but it also serves as a backup application eliminator because of how it’s architected. With LTFS-OE, after you download the driver, a tape looks like a giant thumb drive. LTFS-LE makes the tape library look like a shared drive with each tape appearing as a sub-folder. It’s like having a bucket full of thumb drives that are all accessible simultaneously!

Just as before, you don’t need any additional applications to access files. And end users are almost completely abstracted from the nuances of managing tape. All they need is a Samba or CIFS connection and they have access to the tape library. LTFS-LE is agnostic to corporate security architectures so a system administrator could make some folders (tapes) available to some users while restricting others based on corporate security guidelines.

Security and Performance Considerations

However, security is arguably one of the more straightforward considerations when deciding how to integrate an LTFS-LE implementation into your environment. An additional consideration is to ensure that LTFS-LE can meet your performance expectations. Tape drives are remarkably faster than they are given credit for (the Oracle T10000D can write at 252 MB/sec.), but sometimes networks aren’t designed to handle that much traffic so performance requirements need to be considered accordingly. In addition, it may take some time before a read operation actually starts as the library needs time to mount a tape. As a result, system administrators need to be cognizant of how end user applications will accept response times from any tape storage-based solution.

A final performance consideration is to be aware of how many tape drives are in your library relative to how many users may be accessing files directly from tape. If you have a disproportionately large number of users you may want to consider a more traditional enterprise-level archiving solution such as StorageTek Archive Manager (SAM), which writes files based on the Tape Archive Record (TAR) open source standard.

Ultimately, LTFS-LE provides exciting new opportunities for system administrators looking to preserve files with a format that isn’t dependent on proprietary solutions. It also makes it easy for users who need access to large amounts of storage without a lot of management difficulties. Support for LTFS continues to grow. Oracle is actually one of the co-chairs of the SNIA committee that’s working towards standardizing LTFS. And this is just the start for LTFS-LE as well, as Oracle will continue expanding its capabilities in the near future.

picture of 2008 Harley Davidson FXSTC taken by Rick Ramsey
- Brian Zents

Follow OTN Garage on:
Blog | Facebook | Twitter | YouTube |

Friday Jun 07, 2013

How to Get Started Using DTrace on Oracle Linux

I. hate. slow. code. (Image removed from blog.)

We all hate slow code. Bunch of princesses is what we've become. During the American Civil War, they had to deliver their text messages by horseback! It took weeks! And half the time, they got blown off their horse by a cannonball to the neck!

Today? Today we have to have our stuff back in milliseconds, or we start tweeting about it. So, if you're developing or deploying applications, how do you keep them performing at the speed to which we have become accustomed? DTrace, of course.

"But I'm a Linux guy," you say. "I don't DO Oracle Solaris."

That's fine. The folks at Oracle Solaris are not only wicked smart, they are generous. Now you can use DTrace on Oracle Linux. Let me point out, by the way, that DTrace is just as useful for sysadmins as it is for developers. In this video, taken a couple of years ago, Brendan Gregg explains how sysadmins can make their deployed applications run faster even after the developers who wrote them pushed back the last bits of their code:

Video Interview: How to Improve the Performance of Deployed Applications Using DTrace

Brendan Gregg describes the best ways for sysadmins to tune deployed applications to get more performance out of them in their particular computing environment.

Bonus: More info about Brendan Gregg plus links to his personal and professional blogs.

If you'd like to try DTrace on Oracle Linux, here are some resources to get you started.

What DTrace Probes Are Available on Oracle Linux?

If you are running Oracle Linux 6 with the DTrace-enabled Unbreakable Enterprise Kernel Release 2 (2.6.39), you can run this command to list all the DTrace probes available on your system:

dtrace -l

If you are not running that version of Oracle Linux, you can download it from the ol6_x86_64_Dtrace_latest channel on the Unbreakable Linux Network (ULN). For more info about installing and configuring DTrace, see the DTrace chapter in the Oracle Linux Administrator's Solutions Guide for Release 6.

For each probe listed by dtrace -l, the output includes a name, the portion of the program where it resides, and the Oracle Linux kernel module that does the probing. Once you have that, go to Chapter 11 of the DTrace Guide to find out what each probe does.

Article: How to Get Started Using DTrace on Oracle Linux

DTrace is a powerful tool, and it can do some amazing things. But it's not that difficult to get started doing simple things. You can build up from there. In this article, Richard Friedman gives you a high-level overview of DTrace and its major components:providers, modules, functions, and probes. He explains how you can use either one-liner commands on the command line, or write more complex instructions in scripts, using the D language. He provides simple examples for each. It's a great way to get your feet wet.

Article: How to Get Started Using DTrace on Oracle Linux
Bonus: Brendan Gregg's one liners for DTrace (some of the existing DTrace one-liners will require modification to work on Oracle Linux).

The DTrace Book

You can get all the info you need about DTrace through the Dynamic Tracing in Oracle Solaris, Mac OS X, and FreeBSD, by Brendan Gregg and Jim Mauro. Of course, you can also buy your own paper or electronic copy through any of the major retailers. (We're working on getting a good discount for the book, but you'll have to subscribe to the OTN Systems Community Newsletter to find out about it.)

Bonus:How the DTrace book got done, by Deirdre Straughan

DTrace Forums

Lots of developers and sysadmins are using Dtrace and posting their questions and tips on the DTrace Forum. Here's an example of one conversation:

Q: Unexpected output of dtrace script
m1436 wrote a dtrace script to monitor the bytes returned by the read() system call to the user programme, but was getting strange results. He includes the dtrace script and the strange output.

A: kvh responds, explaining that the problem m1436 encountered is the result of a common misconception about copyin(). "It is intended to be used to copy content of userspace memory into a scratch buffer so that it can be accessed directly from within kernel space (where the DTrace core executes). That said, it is often interpreted as somehow being equivalent to malloc() whereas in reality it actually works like alloca() instead. So, what you are seeing is basically the artifact of the scratch buffer being overwritten with other data. ... in order for this to work, you should do things a bit differently.

The DTrace forum always has great discussions. Let me know if you find any that are worthy of highlighting. And good luck!

- Rick

Follow me on:
Blog | Facebook | Twitter | YouTube | The Great Peruvian Novel

Thursday Apr 04, 2013

The Screaming Men of Finland and Oracle SPARC Chips

source

In response to the release of Oracle's SPARC T5 and M5 chips, which are dramatically faster than those of IBM, IBM responded by saying that speed was not as important as other qualities. Forbes begged to differ:

Forbes Article: For Big Data Customers, Top Performance Means High Speed And Low Cost

Assuming you agree, you'll be interested in some dyno runs of not only our SPARC chips, but also our applications running on them. Did I say dyno runs? I'm sorry, I meant benchmarks.

World's Fastest Database Server

Oracle’s new SPARC mid-range server running Oracle Solaris is the fastest single server for Oracle Database:

  • Oracle’s SPARC T5-8 is the fastest single server for Oracle Database
  • Oracle's SPARC T5-8 server has a 7x price advantage over a similar IBM Power 780 configuration for database on a server-to-server basis.
See Benchmarks Results Here
Why Oracle Database runs best on Solaris

World's Fastest Server for Java

As you might expect, Java runs fastest on Oracle servers.

SPECjEnterprise2010 Benchmark World Record Performance
SPECjbb2013 Benchmark World Record Result
Why Solaris is the best platform for Enterprise Java

Optimizations to Oracle Solaris Studio COmpilers

The latest release of Oracle Solaris Studio includes optimizations for the new SPARC chips in its compilers. Larry Wake has more:

Blog: Oracle Solaris and SPARC Performance - Part I

I'll Optimize Yours If You Optimize Mine

Since the Solaris and SPARC engineers get along so well, they have each optimized their technologies for each other:

SPARC Optimizations for Oracle Solaris
Oracle Solaris Optimizations for SPARC

Happy Burnouts.

- Rick

Follow me on:
Blog | Facebook | Twitter | YouTube | The Great Peruvian Novel

Tuesday Feb 26, 2013

Performance Tuning an Exalogic System

source

I tend to get annoyed at my engineering pals for designing performance into automobiles such as the Chevy Corvette, instead of letting the driver feel the satisfaction of increasing performance by improving his or her technique. Many sysadmins feel the same about their craft. But as the story of Paul Bunyan demonstrates, we must adapt or die.

In a previous post I discussed how Exalogic changes the way you handle provisioning. In this post, I'll focus on the way Exalogic changes the way you handle performance tuning. First, the optimizations that are already done for you, then the optimizations you can still perform yourself.

Performance Optimizations Designed Into Exalogic

Because Oracle engineering knows the exact details of the environment in which each component is operating, Oracle has configured Exalogic components to use the internal network, memory, and storage for optimum performance, availability and security. It employs two types of optimizations:

Generic Optimizations (Exabus)

These optimizations will benefit any software running on the Exalogic machine, whether Oracle or 3rd party, in physical or virtual environments. The collection of Exalogic–specific optimizations are referred to as Exabus. The purpose of Exabus is primarily to integrate Infiniband networking seamlessly into all the hardware, software, and firmware distributed throughout the system. Examples include:

  • Changes to the firmware and drivers in the network switches that increase performance by skipping protocol stack conversions
  • Use of Exalogic solid state disk caching to increase the speed and capacity of local (shared) data read and write operations, such as JMS queues and run time metadata.
  • Built in high availability at network and storage levels
  • Native Infiniband integration with any other engineered systems, such as additional Exalogic machines, ZFS storage appliances, or Exadata Database machines.
  • The ability to define Infiniband partitions, which ensure application isolation and security.

Optimizations to Run-Time Components

Oracle has engineered optimizations for Exalogic directly into Oracle WebLogic Server (WLS), Coherence, and Tuxedo. They benefit any application running on those software components, but they can only be activated on the Exalogic platform. They address performance limitations that only become apparent when the software is running on Exalogic's high-density computing nodes and very fast Infiniband switches. Examples include:

  • WebLogic Server session replication uses the SDP layer of IB networking to maximize performance of large scale data operations. This avoids some of the typical TCP/IP network processing overhead.
  • Cluster communication has been redesigned in Coherence to further minimize network latency when processing data sets across caches. Its elastic data feature increases performance by minimizing network and memory use in both RAM and garbage collection processing.
  • Tuxedo has been similarly enhanced to make increasing use of SDP and RDMA protocols in order to optimize the performance of inter–process communications within and between compute nodes.

Tuning You Can Perform on Exalogic

Benchmarks and other tests show that applications that run well on Oracle middleware will run better on Exalogic. The degree to which they run better will be affected by how well optimised they are to take advantage of the Exalogic system, as well how well the Exalogic components are set up to balance resources.

However, if your workloads or configurations change, you may need to tune your Exalogic. Here are some general notes, extracted from the Exalogic: Administration Tasks and Tools white paper.

Tuning the Middleware

At the middleware and application level most of the standard options and techniques are available to you. WebLogic Server, JRockit, Coherence and iAS, etc. operate as they do on traditional platforms.

As for the rest of the Exalogic platform, Oracle's recommendation is: leave it alone.

Tuning The Platform

Exalogic manages itself, so you don't need adjust it unless you are sure that something needs changing. This is a major change in approach, since you are used to spending considerable time tweaking your systems to accommodate the needs of different groups. Knowing exactly when and how much (or how little) to tune an Exalogic system is a big topic, but here are some general guidelines.

  • Because Exalogic has such a high density of compute resources across such a fast network, small configuration changes can have a large impact.
  • Try out your changes in a test environment, first. Make sure its resources, configurations, and workload match those of your production system as closely as possible. Oracle Application Replay is a good tool for assessing the impact of configuration and infrastructure changes on the performance of your applications. Give it a try.
  • Focus on reducing response times for users and applications. If response time is not a problem, you probably don't have an issue to resolve, regardless of internal alerts and indicators you may be noticing.
  • Capture the right performance baselines ahead of time so you can compare the results of your tuning to them.

Tuning the Infrastructure

Storage, Infiniband, and OS are set up during initial configuration, so further tuning is not usually needed. If you need to review the kernel settings, network bonding, and MTU values, or perhaps the NFS settings, use Enterprise Manager. Finding the optimum changes tends to be an iterative process that varies with application workload.

Tuning the Middleware Runtime Environment

Ensure that Exalogic optimizations for WLS Suite are switched on (see MOS note 1373571.1), since they affect replication channels, packet sizes, and the use of the SDP protocol in the Infiniband networks.

Oracle Traffic Director is currently a unique feature of Exalogic, so is not available on other platforms. You can alter traffic routing rules for each application at any time. As workloads change and grow this is likely to be a key tuning task.

Tuning the Applications

At present you can tune business applications just as you would on traditional platforms. One possible side effect of running your business applications on Exalogic is that its enhanced performance may unmask poorly tuned applications or poorly written customizations.

For More Information

For more information, read the Exalogic: Administration Tasks and Tools white paper.

- Rick

Follow me on:
Blog | Facebook | Twitter | YouTube | The Great Peruvian Novel

About

Contributors:
Rick Ramsey
Kemer Thomson
and members of the OTN community

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
12
13
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today
Blogs We Like