<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="perf_benchmarks">

  <title>Benchmarking Impala Queries</title>
  <titlealts audience="PDF"><navtitle>Benchmarking</navtitle></titlealts>
  <prolog>
    <metadata>
      <data name="Category" value="Performance"/>
      <data name="Category" value="Impala"/>
      <data name="Category" value="Querying"/>
      <data name="Category" value="Proof of Concept"/>
      <data name="Category" value="Developers"/>
      <data name="Category" value="Data Analysts"/>
    </metadata>
  </prolog>

  <conbody>

    <p>
      Because Impala, like other Hadoop components, is designed to handle large data volumes in a distributed
      environment, conduct any performance tests using realistic data and cluster configurations. Use a multi-node
      cluster rather than a single node; run queries against tables containing terabytes of data rather than tens
      of gigabytes. The parallel processing techniques used by Impala are most appropriate for workloads that are
      beyond the capacity of a single server.
    </p>

    <p>
      When you run queries returning large numbers of rows, the CPU time to pretty-print the output can be
      substantial, giving an inaccurate measurement of the actual query time. Consider using the
      <codeph>-B</codeph> option on the <codeph>impala-shell</codeph> command to turn off the pretty-printing, and
      optionally the <codeph>-o</codeph> option to store query results in a file rather than printing to the
      screen. See <xref href="impala_shell_options.xml#shell_options"/> for details.
    </p>
  </conbody>
</concept>
