<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see [here](https://streamnative.io/whitepaper/taking-a-deep-dive-into-apache-pulsar-architecture-for-performance-tuning/)."/><meta name="docsearch:version" content="2.7.0"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar Perf · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.apache.org/"/><meta property="og:description" content="This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see [here](https://streamnative.io/whitepaper/taking-a-deep-dive-into-apache-pulsar-architecture-for-performance-tuning/)."/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.apache.org/blog/atom.xml" title="Apache Pulsar Blog ATOM Feed"/><link rel="alternate" type="application/rss+xml" href="https://pulsar.apache.org/blog/feed.xml" title="Apache Pulsar Blog RSS Feed"/><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/en"><img class="logo" src="/img/pulsar.svg" alt="Apache Pulsar"/></a><a href="/en/versions"><h3>2.7.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class="siteNavGroupActive"><a href="/docs/en/2.7.0/getting-started-standalone" target="_self">Docs</a></li><li class=""><a href="/en/download" target="_self">Download</a></li><li class="siteNavGroupActive"><a href="/docs/en/2.7.0/client-libraries" target="_self">Clients</a></li><li class=""><a href="#restapis" target="_self">REST APIs</a></li><li class=""><a href="#cli" target="_self">Cli</a></li><li class=""><a href="/blog/" target="_self">Blog</a></li><li class=""><a href="#community" target="_self">Community</a></li><li class=""><a href="#apache" target="_self">Apache</a></li><li class=""><a href="https://pulsar-next.staged.apache.org/" target="_self">New Website (Beta)</a></li><span><li><a id="languages-menu" href="#"><img class="languages-icon" src="/img/language.svg" alt="Languages icon"/>English</a><div id="languages-dropdown" class="hide"><ul id="languages-dropdown-items"><li><a href="/docs/ja/2.7.0/performance-pulsar-perf">日本語</a></li><li><a href="/docs/fr/2.7.0/performance-pulsar-perf">Français</a></li><li><a href="/docs/ko/2.7.0/performance-pulsar-perf">한국어</a></li><li><a href="/docs/zh-CN/2.7.0/performance-pulsar-perf">中文</a></li><li><a href="/docs/zh-TW/2.7.0/performance-pulsar-perf">繁體中文</a></li><li><a href="https://crowdin.com/project/apache-pulsar" target="_blank" rel="noreferrer noopener">Help Translate</a></li></ul></div></li><script>
        const languagesMenuItem = document.getElementById("languages-menu");
        const languagesDropDown = document.getElementById("languages-dropdown");
        languagesMenuItem.addEventListener("click", function(event) {
          event.preventDefault();

          if (languagesDropDown.className == "hide") {
            languagesDropDown.className = "visible";
          } else {
            languagesDropDown.className = "hide";
          }
        });
      </script></span></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line1"></div><div class="line2"></div><div class="line3"></div></div></div><h2><i>›</i><span>Performance</span></h2><div class="tocToggler" id="tocToggler"><i class="icon-toc"></i></div></div><div class="navGroups"><div class="navGroup"><h3 class="navGroupCategoryTitle">Get Started</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/getting-started-standalone">Run Pulsar locally</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/getting-started-docker">Run Pulsar in Docker</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/getting-started-helm">Run Pulsar in Kubernetes</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Concepts and Architecture</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/concepts-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/concepts-messaging">Messaging</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/concepts-architecture-overview">Architecture</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/concepts-clients">Clients</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/concepts-replication">Geo Replication</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/concepts-multi-tenancy">Multi Tenancy</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/concepts-authentication">Authentication and Authorization</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/concepts-topic-compaction">Topic Compaction</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/concepts-proxy-sni-routing">Proxy support with SNI routing</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/concepts-multiple-advertised-listeners">Multiple advertised listeners</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Pulsar Schema</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/schema-get-started">Get started</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/schema-understand">Understand schema</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/schema-evolution-compatibility">Schema evolution and compatibility</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/schema-manage">Manage schema</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Pulsar Functions</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/functions-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/functions-worker">Setup: Pulsar Functions Worker</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/functions-runtime">Setup: Configure Functions runtime</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/functions-develop">How-to: Develop</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/functions-package">How-to: Package</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/functions-debug">How-to: Debug</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/functions-deploy">How-to: Deploy</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/functions-cli">Reference: CLI</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/window-functions-context">Window Functions: Context</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Pulsar IO</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/io-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/io-quickstart">Get started</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/io-use">Use</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/io-debug">Debug</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/io-connectors">Built-in connector</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/io-cdc">CDC connector</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/io-develop">Develop</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/io-cli">CLI</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Pulsar SQL</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/sql-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/sql-getting-started">Query data</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/sql-deployment-configurations">Configuration and deployment</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/sql-rest-api">REST APIs</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Tiered Storage</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/tiered-storage-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/tiered-storage-aws">AWS S3 offloader</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/tiered-storage-gcs">GCS offloader</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/tiered-storage-filesystem">Filesystem offloader</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/tiered-storage-azure">Azure BlobStore offloader</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Transactions</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/transactions">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/transactions-guarantee">Transactions Guarantee</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/transactions-api">Transactions API</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Kubernetes (Helm)</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/helm-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/helm-prepare">Prepare</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/helm-install">Install</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/helm-deploy">Deployment</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/helm-upgrade">Upgrade</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/helm-tools">Required Tools</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Deployment</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/deploy-aws">Amazon Web Services</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/deploy-kubernetes">Kubernetes</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/deploy-bare-metal">Bare metal</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/deploy-bare-metal-multi-cluster">Bare metal multi-cluster</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/deploy-docker">Docker</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/deploy-monitoring">Monitor</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Administration</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/administration-zk-bk">ZooKeeper and BookKeeper</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/administration-geo">Geo-replication</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/administration-pulsar-manager">Pulsar Manager</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/administration-stats">Pulsar statistics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/administration-load-balance">Load balance</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/administration-proxy">Pulsar proxy</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/administration-upgrade">Upgrade</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Security</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/security-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/security-tls-transport">Transport Encryption using TLS</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/security-tls-authentication">Authentication using TLS</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/security-tls-keystore">Using TLS with KeyStore configure</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/security-jwt">Authentication using JWT</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/security-athenz">Authentication using Athenz</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/security-kerberos">Authentication using Kerberos</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/security-oauth2">Authentication using OAuth 2.0 access tokens</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/security-authorization">Authorization and ACLs</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/security-encryption">End-to-End Encryption</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/security-extending">Extending</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/security-bouncy-castle">Bouncy Castle Providers</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Performance</h3><ul class=""><li class="navListItem navListItemActive"><a class="navItem" href="/docs/en/2.7.0/performance-pulsar-perf">Pulsar Perf</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Client Libraries</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/client-libraries">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/client-libraries-java">Java</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/client-libraries-go">Go</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/client-libraries-python">Python</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/client-libraries-cpp">C++</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/client-libraries-node">Node.js</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/client-libraries-websocket">WebSocket</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/client-libraries-dotnet">C#</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Admin API</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/admin-api-overview">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/admin-api-clusters">Clusters</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/admin-api-tenants">Tenants</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/admin-api-brokers">Brokers</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/admin-api-namespaces">Namespaces</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/admin-api-permissions">Permissions</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/admin-api-topics">Topics</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/admin-api-functions">Functions</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Adaptors</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/adaptors-kafka">Kafka client wrapper</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/adaptors-spark">Apache Spark</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/adaptors-storm">Apache Storm</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Cookbooks</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/cookbooks-compaction">Topic compaction</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/cookbooks-deduplication">Message deduplication</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/cookbooks-non-persistent">Non-persistent messaging</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/cookbooks-retention-expiry">Message retention and expiry</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/cookbooks-encryption">Encryption</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/cookbooks-message-queue">Message queue</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/cookbooks-bookkeepermetadata">BookKeeper Ledger Metadata</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Development</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/develop-tools">Simulation tools</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/developing-binary-protocol">Binary protocol</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/develop-schema">Custom schema storage</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/develop-load-manager">Modular load manager</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/develop-cpp">Building Pulsar C++ client</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Reference</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/reference-terminology">Terminology</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/reference-cli-tools">Pulsar CLI tools</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/reference-configuration">Pulsar configuration</a></li><li class="navListItem"><a class="navItem" href="/docs/en/2.7.0/reference-metrics">Pulsar Metrics</a></li></ul></div></div></section></div><script>
            var coll = document.getElementsByClassName('collapsible');
            var checkActiveCategory = true;
            for (var i = 0; i < coll.length; i++) {
              var links = coll[i].nextElementSibling.getElementsByTagName('*');
              if (checkActiveCategory){
                for (var j = 0; j < links.length; j++) {
                  if (links[j].classList.contains('navListItemActive')){
                    coll[i].nextElementSibling.classList.toggle('hide');
                    coll[i].childNodes[1].classList.toggle('rotate');
                    checkActiveCategory = false;
                    break;
                  }
                }
              }

              coll[i].addEventListener('click', function() {
                var arrow = this.childNodes[1];
                arrow.classList.toggle('rotate');
                var content = this.nextElementSibling;
                content.classList.toggle('hide');
              });
            }

            document.addEventListener('DOMContentLoaded', function() {
              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
              createToggler('#tocToggler', 'body', 'tocActive');

              var headings = document.querySelector('.toc-headings');
              headings && headings.addEventListener('click', function(event) {
                var el = event.target;
                while(el !== headings){
                  if (el.tagName === 'A') {
                    document.body.classList.remove('tocActive');
                    break;
                  } else{
                    el = el.parentNode;
                  }
                }
              }, false);

              function createToggler(togglerSelector, targetSelector, className) {
                var toggler = document.querySelector(togglerSelector);
                var target = document.querySelector(targetSelector);

                if (!toggler) {
                  return;
                }

                toggler.onclick = function(event) {
                  event.preventDefault();

                  target.classList.toggle(className);
                };
              }
            });
        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/pulsar/edit/master/site2/docs/performance-pulsar-perf.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see <a href="https://streamnative.io/whitepaper/taking-a-deep-dive-into-apache-pulsar-architecture-for-performance-tuning/">here</a>.</p>
<h2><a class="anchor" aria-hidden="true" id="pulsar-perf"></a><a href="#pulsar-perf" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Pulsar Perf</h2>
<p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance.</p>
<h3><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Produce messages</h3>
<p>This example shows how the Pulsar Perf produces messages with default options. For all configuration options available for the <code>pulsar-perf produce</code> command, see <a href="#configuration-options-for-pulsar-perf-produce">configuration options</a>.</p>
<pre><code class="hljs">bin/pulsar-perf produce <span class="hljs-keyword">my</span>-topic
</code></pre>
<p>After the command is executed, the test data is continuously output on the Console.</p>
<p><strong>Output</strong></p>
<pre><code class="hljs"><span class="hljs-number">19</span>:<span class="hljs-number">53</span>:<span class="hljs-number">31.459</span> [pulsar-perf-producer-exec<span class="hljs-number">-1</span><span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Created <span class="hljs-number">1</span> producers
<span class="hljs-number">19</span>:<span class="hljs-number">53</span>:<span class="hljs-number">31.482</span> [pulsar-timer<span class="hljs-number">-5</span><span class="hljs-number">-1</span>] WARN  com.scurrilous.circe.checksum.Crc32cIntChecksum - Failed to load Circe JNI library. Falling back to Java based CRC32c provider
<span class="hljs-number">19</span>:<span class="hljs-number">53</span>:<span class="hljs-number">40.861</span> [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced:     <span class="hljs-number">93.7</span>  msg/s ---      <span class="hljs-number">0.7</span> Mbit/s --- failure      <span class="hljs-number">0.0</span> msg/s --- Latency: mean:   <span class="hljs-number">3.575</span> ms - med:   <span class="hljs-number">3.460</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.790</span> - <span class="hljs-number">99</span>pct:   <span class="hljs-number">5.308</span> - <span class="hljs-number">99.9</span>pct:   <span class="hljs-number">5.834</span> - <span class="hljs-number">99.99</span>pct:   <span class="hljs-number">6.609</span> - Max:   <span class="hljs-number">6.609</span>
<span class="hljs-number">19</span>:<span class="hljs-number">53</span>:<span class="hljs-number">50.909</span> [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced:    <span class="hljs-number">100.0</span>  msg/s ---      <span class="hljs-number">0.8</span> Mbit/s --- failure      <span class="hljs-number">0.0</span> msg/s --- Latency: mean:   <span class="hljs-number">3.437</span> ms - med:   <span class="hljs-number">3.328</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.656</span> - <span class="hljs-number">99</span>pct:   <span class="hljs-number">5.071</span> - <span class="hljs-number">99.9</span>pct:   <span class="hljs-number">5.519</span> - <span class="hljs-number">99.99</span>pct:   <span class="hljs-number">5.588</span> - Max:   <span class="hljs-number">5.588</span>
<span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">00.926</span> [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced:    <span class="hljs-number">100.0</span>  msg/s ---      <span class="hljs-number">0.8</span> Mbit/s --- failure      <span class="hljs-number">0.0</span> msg/s --- Latency: mean:   <span class="hljs-number">3.376</span> ms - med:   <span class="hljs-number">3.276</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.520</span> - <span class="hljs-number">99</span>pct:   <span class="hljs-number">4.939</span> - <span class="hljs-number">99.9</span>pct:   <span class="hljs-number">5.440</span> - <span class="hljs-number">99.99</span>pct:   <span class="hljs-number">5.490</span> - Max:   <span class="hljs-number">5.490</span>
<span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">10.940</span> [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced:    <span class="hljs-number">100.0</span>  msg/s ---      <span class="hljs-number">0.8</span> Mbit/s --- failure      <span class="hljs-number">0.0</span> msg/s --- Latency: mean:   <span class="hljs-number">3.298</span> ms - med:   <span class="hljs-number">3.220</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.474</span> - <span class="hljs-number">99</span>pct:   <span class="hljs-number">4.926</span> - <span class="hljs-number">99.9</span>pct:   <span class="hljs-number">5.645</span> - <span class="hljs-number">99.99</span>pct:   <span class="hljs-number">5.654</span> - Max:   <span class="hljs-number">5.654</span>
<span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">20.956</span> [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced:    <span class="hljs-number">100.1</span>  msg/s ---      <span class="hljs-number">0.8</span> Mbit/s --- failure      <span class="hljs-number">0.0</span> msg/s --- Latency: mean:   <span class="hljs-number">3.308</span> ms - med:   <span class="hljs-number">3.199</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.532</span> - <span class="hljs-number">99</span>pct:   <span class="hljs-number">4.871</span> - <span class="hljs-number">99.9</span>pct:   <span class="hljs-number">5.291</span> - <span class="hljs-number">99.99</span>pct:   <span class="hljs-number">5.323</span> - Max:   <span class="hljs-number">5.323</span>
<span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">30.972</span> [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced:    <span class="hljs-number">100.0</span>  msg/s ---      <span class="hljs-number">0.8</span> Mbit/s --- failure      <span class="hljs-number">0.0</span> msg/s --- Latency: mean:   <span class="hljs-number">3.249</span> ms - med:   <span class="hljs-number">3.144</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.437</span> - <span class="hljs-number">99</span>pct:   <span class="hljs-number">4.970</span> - <span class="hljs-number">99.9</span>pct:   <span class="hljs-number">5.329</span> - <span class="hljs-number">99.99</span>pct:   <span class="hljs-number">5.414</span> - Max:   <span class="hljs-number">5.414</span>
<span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">40.987</span> [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced:    <span class="hljs-number">100.0</span>  msg/s ---      <span class="hljs-number">0.8</span> Mbit/s --- failure      <span class="hljs-number">0.0</span> msg/s --- Latency: mean:   <span class="hljs-number">3.435</span> ms - med:   <span class="hljs-number">3.361</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.772</span> - <span class="hljs-number">99</span>pct:   <span class="hljs-number">5.150</span> - <span class="hljs-number">99.9</span>pct:   <span class="hljs-number">5.373</span> - <span class="hljs-number">99.99</span>pct:   <span class="hljs-number">5.837</span> - Max:   <span class="hljs-number">5.837</span>
^C19:<span class="hljs-number">54</span>:<span class="hljs-number">44.325</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated throughput stats --- <span class="hljs-number">7286</span> records sent --- <span class="hljs-number">99.140</span> msg/s --- <span class="hljs-number">0.775</span> Mbit/s
<span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">44.336</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated latency stats --- Latency: mean:   <span class="hljs-number">3.383</span> ms - med:   <span class="hljs-number">3.293</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.610</span> - <span class="hljs-number">99</span>pct:   <span class="hljs-number">5.059</span> - <span class="hljs-number">99.9</span>pct:   <span class="hljs-number">5.588</span> - <span class="hljs-number">99.99</span>pct:   <span class="hljs-number">5.837</span> - <span class="hljs-number">99.999</span>pct:   <span class="hljs-number">6.609</span> - Max:   <span class="hljs-number">6.609</span>
</code></pre>
<p>From the above test data, you can get the throughput statistics and the write latency statistics. The aggregated statistics is printed when the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf. After the Pulsar Perf is stopped, the <a href="http://hdrhistogram.github.io/HdrHistogram/">HdrHistogram</a> formatted test result appears under your directory. The document looks like <code>perf-producer-1589370810837.hgrm</code>. You can also check the test result through <a href="https://hdrhistogram.github.io/HdrHistogram/plotFiles.html">HdrHistogram Plotter</a>. For details about how to check the test result through <a href="https://hdrhistogram.github.io/HdrHistogram/plotFiles.html">HdrHistogram Plotter</a>, see <a href="#hdrhistogram-plotter">HdrHistogram Plotter</a>.</p>
<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Configuration options for <code>pulsar-perf produce</code></h4>
<p>You can get all options by executing the <code>bin/pulsar-perf produce -h</code> command. Therefore, you can modify these options as required.</p>
<p>The following table lists configuration options available for the <code>pulsar-perf produce</code> command.</p>
<table>
<thead>
<tr><th>Option</th><th>Description</th><th>Default value</th></tr>
</thead>
<tbody>
<tr><td>auth-params</td><td>Set the authentication parameters, whose format is determined by the implementation of the <code>configure</code> method in the authentication plugin class, such as &quot;key1:val1,key2:val2&quot; or &quot;{&quot;key1&quot;:&quot;val1&quot;,&quot;key2&quot;:&quot;val2&quot;}&quot;.</td><td>N/A</td></tr>
<tr><td>auth_plugin</td><td>Set the authentication plugin class name.</td><td>N/A</td></tr>
<tr><td>batch-max-bytes</td><td>Set the maximum number of bytes for each batch.</td><td>4194304</td></tr>
<tr><td>batch-max-messages</td><td>Set the maximum number of messages for each batch.</td><td>1000</td></tr>
<tr><td>batch-time-window</td><td>Set a window for a batch of messages.</td><td>1 ms</td></tr>
<tr><td>batch-max-bytes</td><td>Set the maximum number of bytes for each batch.</td><td>4194304</td></tr>
<tr><td>batch-max-messages</td><td>Set the maximum number of messages for each batch.</td><td>1000</td></tr>
<tr><td>chunking</td><td>Configure whether to split the message and publish in chunks if message size is larger than allowed max size.</td><td>false</td></tr>
<tr><td>compression</td><td>Compress the message payload.</td><td>N/A</td></tr>
<tr><td>conf-file</td><td>Set the configuration file.</td><td>N/A</td></tr>
<tr><td>delay</td><td>Mark messages with a given delay.</td><td>0s</td></tr>
<tr><td>encryption-key-name</td><td>Set the name of the public key used to encrypt the payload.</td><td>N/A</td></tr>
<tr><td>encryption-key-value-file</td><td>Set the file which contains the public key used to encrypt the payload.</td><td>N/A</td></tr>
<tr><td>exit-on-failure</td><td>Configure whether to exit from the process on publish failure.</td><td>false</td></tr>
<tr><td>help</td><td>Configure the help message.</td><td>false</td></tr>
<tr><td>max-connections</td><td>Set the maximum number of TCP connections to a single broker.</td><td>100</td></tr>
<tr><td>max-outstanding</td><td>Set the maximum number of outstanding messages.</td><td>1000</td></tr>
<tr><td>max-outstanding-across-partitions</td><td>Set the maximum number of outstanding messages across partitions.</td><td>50000</td></tr>
<tr><td>message-key-generation-mode</td><td>Set the generation mode of message key. Valid options are <code>autoIncrement</code>, <code>random</code>.</td><td>N/A</td></tr>
<tr><td>num-io-threads</td><td>Set the number of threads to be used for handling connections to brokers.</td><td>1</td></tr>
<tr><td>num-messages</td><td>Set the number of messages to be published in total. If it is set to 0, it keeps publishing messages.</td><td>0</td></tr>
<tr><td>num-producers</td><td>Set the number of producers for each topic.</td><td>1</td></tr>
<tr><td>num-test-threads</td><td>Set the number of test threads.</td><td>1</td></tr>
<tr><td>num-topic</td><td>Set the number of topics.</td><td>1</td></tr>
<tr><td>payload-delimiter</td><td>Set the delimiter used to split lines when using payload from a file.</td><td>\n</td></tr>
<tr><td>payload-file</td><td>Use the payload from an UTF-8 encoded text file and a payload is randomly selected when messages are published.</td><td>N/A</td></tr>
<tr><td>rate</td><td>Set the publish rate of messages across topics.</td><td>100</td></tr>
<tr><td>service-url</td><td>Set the Pulsar service URL.</td><td></td></tr>
<tr><td>size</td><td>Set the message size.</td><td>1024 bytes</td></tr>
<tr><td>stats-interval-seconds</td><td>Set the statistics interval. If it is set to 0, statistics is disabled.</td><td>0</td></tr>
<tr><td>test-duration</td><td>Set the test duration. If it is set to 0, it keeps publishing tests.</td><td>0s</td></tr>
<tr><td>trust-cert-file</td><td>Set the path for the trusted TLS certificate file.</td><td><empty string></td></tr>
<tr><td>warmup-time</td><td>Set the warm-up time.</td><td>1s</td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Consume messages</h3>
<p>This example shows how the Pulsar Perf consumes messages with default options.</p>
<pre><code class="hljs">bin/pulsar-perf consume <span class="hljs-keyword">my</span>-topic
</code></pre>
<p>After the command is executed, the test data is continuously output on the Console.</p>
<p><strong>Output</strong></p>
<pre><code class="hljs"><span class="hljs-number">20</span>:<span class="hljs-number">35</span>:<span class="hljs-number">37.071</span> [main] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Start receiving <span class="hljs-keyword">from</span> <span class="hljs-number">1</span> consumers on <span class="hljs-number">1</span> topics
<span class="hljs-number">20</span>:<span class="hljs-number">35</span>:<span class="hljs-number">41.150</span> [pulsar-client-io<span class="hljs-number">-1</span><span class="hljs-number">-9</span>] WARN  com.scurrilous.circe.checksum.Crc32cIntChecksum - Failed to load Circe JNI library. Falling back to Java based CRC32c provider
<span class="hljs-number">20</span>:<span class="hljs-number">35</span>:<span class="hljs-number">47.092</span> [main] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Throughput received: <span class="hljs-number">59.572</span>  msg/s -- <span class="hljs-number">0.465</span> Mbit/s --- Latency: mean: <span class="hljs-number">11.298</span> ms - med: <span class="hljs-number">10</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">98</span> - <span class="hljs-number">99.9</span>pct: <span class="hljs-number">137</span> - <span class="hljs-number">99.99</span>pct: <span class="hljs-number">152</span> - Max: <span class="hljs-number">152</span>
<span class="hljs-number">20</span>:<span class="hljs-number">35</span>:<span class="hljs-number">57.104</span> [main] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Throughput received: <span class="hljs-number">99.958</span>  msg/s -- <span class="hljs-number">0.781</span> Mbit/s --- Latency: mean: <span class="hljs-number">9.176</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</span> - <span class="hljs-number">99.9</span>pct: <span class="hljs-number">17</span> - <span class="hljs-number">99.99</span>pct: <span class="hljs-number">18</span> - Max: <span class="hljs-number">18</span>
<span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">07.115</span> [main] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Throughput received: <span class="hljs-number">100.006</span>  msg/s -- <span class="hljs-number">0.781</span> Mbit/s --- Latency: mean: <span class="hljs-number">9.316</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</span> - <span class="hljs-number">99.9</span>pct: <span class="hljs-number">17</span> - <span class="hljs-number">99.99</span>pct: <span class="hljs-number">17</span> - Max: <span class="hljs-number">17</span>
<span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">17.125</span> [main] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Throughput received: <span class="hljs-number">100.085</span>  msg/s -- <span class="hljs-number">0.782</span> Mbit/s --- Latency: mean: <span class="hljs-number">9.327</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</span> - <span class="hljs-number">99.9</span>pct: <span class="hljs-number">17</span> - <span class="hljs-number">99.99</span>pct: <span class="hljs-number">17</span> - Max: <span class="hljs-number">17</span>
<span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">27.136</span> [main] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Throughput received: <span class="hljs-number">99.900</span>  msg/s -- <span class="hljs-number">0.780</span> Mbit/s --- Latency: mean: <span class="hljs-number">9.404</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</span> - <span class="hljs-number">99.9</span>pct: <span class="hljs-number">17</span> - <span class="hljs-number">99.99</span>pct: <span class="hljs-number">17</span> - Max: <span class="hljs-number">17</span>
<span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">37.147</span> [main] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Throughput received: <span class="hljs-number">99.985</span>  msg/s -- <span class="hljs-number">0.781</span> Mbit/s --- Latency: mean: <span class="hljs-number">8.998</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</span> - <span class="hljs-number">99.9</span>pct: <span class="hljs-number">17</span> - <span class="hljs-number">99.99</span>pct: <span class="hljs-number">17</span> - Max: <span class="hljs-number">17</span>
^C20:<span class="hljs-number">36</span>:<span class="hljs-number">42.755</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Aggregated throughput stats --- <span class="hljs-number">6051</span> records received --- <span class="hljs-number">92.125</span> msg/s --- <span class="hljs-number">0.720</span> Mbit/s
<span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">42.759</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Aggregated latency stats --- Latency: mean: <span class="hljs-number">9.422</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</span> - <span class="hljs-number">99.9</span>pct: <span class="hljs-number">98</span> - <span class="hljs-number">99.99</span>pct: <span class="hljs-number">137</span> - <span class="hljs-number">99.999</span>pct: <span class="hljs-number">152</span> - Max: <span class="hljs-number">152</span>
</code></pre>
<p>From the output test data, you can get the throughput statistics and the end-to-end latency statistics. The aggregated statistics is printed after the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf.</p>
<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Configuration options for <code>pulsar-perf consume</code></h4>
<p>You can get all options by executing the <code>bin/pulsar-perf consume -h</code> command. Therefore, you can modify these options as required.</p>
<p>The following table lists configuration options available for the <code>pulsar-perf consume</code> command.</p>
<table>
<thead>
<tr><th>Option</th><th>Description</th><th>Default value</th></tr>
</thead>
<tbody>
<tr><td>acks-delay-millis</td><td>Set the acknowledgment grouping delay in milliseconds.</td><td>100 ms</td></tr>
<tr><td>auth-params</td><td>Set the authentication parameters, whose format is determined by the implementation of the <code>configure</code> method in the authentication plugin class, such as &quot;key1:val1,key2:val2&quot; or &quot;{&quot;key1&quot;:&quot;val1&quot;,&quot;key2&quot;:&quot;val2&quot;}&quot;.</td><td>N/A</td></tr>
<tr><td>auth_plugin</td><td>Set the authentication plugin class name.</td><td>N/A</td></tr>
<tr><td>auto_ack_chunk_q_full</td><td>Configure whether to automatically ack for the oldest message in receiver queue if the queue is full.</td><td>false</td></tr>
<tr><td>listener-name</td><td>Set the listener name for the broker.</td><td>N/A</td></tr>
<tr><td>conf-file</td><td>Set the configuration file.</td><td>N/A</td></tr>
<tr><td>encryption-key-name</td><td>Set the name of the public key used to encrypt the payload.</td><td>N/A</td></tr>
<tr><td>encryption-key-value-file</td><td>Set the file which contains the public key used to encrypt the payload.</td><td>N/A</td></tr>
<tr><td>help</td><td>Configure the help message.</td><td>false</td></tr>
<tr><td>expire_time_incomplete_chunked_messages</td><td>Set the expiration time for incomplete chunk messages (in milliseconds).</td><td>0</td></tr>
<tr><td>max-connections</td><td>Set the maximum number of TCP connections to a single broker.</td><td>100</td></tr>
<tr><td>max_chunked_msg</td><td>Set the max pending chunk messages.</td><td>0</td></tr>
<tr><td>num-consumers</td><td>Set the number of consumers for each topic.</td><td>1</td></tr>
<tr><td>num-io-threads</td><td>Set the number of threads to be used for handling connections to brokers.</td><td>1</td></tr>
<tr><td>num-topic</td><td>Set the number of topics.</td><td>1</td></tr>
<tr><td>rate</td><td>Simulate a slow message consumer (rate in msg/s).</td><td>0.0</td></tr>
<tr><td>receiver-queue-size</td><td>Set the size of the receiver queue.</td><td>1000</td></tr>
<tr><td>replicated</td><td>Configure whether the subscription status should be replicated.</td><td>false</td></tr>
<tr><td>service-url</td><td>Set the Pulsar service URL.</td><td></td></tr>
<tr><td>stats-interval-seconds</td><td>Set the statistics interval. If it is set to 0, statistics is disabled.</td><td>0</td></tr>
<tr><td>subscriber-name</td><td>Set the subscriber name prefix.</td><td>sub</td></tr>
<tr><td>subscription-position</td><td>Set the subscription position. Valid values are <code>Latest</code>, <code>Earliest</code>.</td><td>Latest</td></tr>
<tr><td>subscription-type</td><td>Set the subscription type. <li> Exclusive <li> Shared <li> Failover <li> Key_Shared</td><td>Exclusive</td></tr>
<tr><td>test-duration</td><td>Set the test duration (in seconds). If the value is 0 or smaller than 0, it keeps consuming messages.</td><td>0</td></tr>
<tr><td>tls-allow-insecure</td><td>Set the allowed insecure TLS connection.</td><td>N/A</td></tr>
<tr><td>trust-cert-file</td><td>Set the path for the trusted TLS certificate file.</td><td><empty string></td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Configurations</h3>
<p>By default, the Pulsar Perf uses <code>conf/client.conf</code> as the default configuration and uses <code>conf/log4j2.yaml</code> as the default Log4j configuration. If you want to connect to other Pulsar clusters, you can update the <code>brokerServiceUrl</code> in the client configuration.</p>
<p>You can use the following commands to change the configuration file and the Log4j configuration file.</p>
<pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_CLIENT_CONF</span>=&lt;your-config-file&gt;
<span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_LOG_CONF</span>=&lt;your-log-config-file&gt;
</code></pre>
<p>In addition, you can use the following command to configure the JVM configuration through environment variables:</p>
<pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_EXTRA_OPTS</span>=<span class="hljs-string">'-Xms4g -Xmx4g -XX:MaxDirectMemorySize=4g'</span>
</code></pre>
<h2><a class="anchor" aria-hidden="true" id="hdrhistogram-plotter"></a><a href="#hdrhistogram-plotter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>HdrHistogram Plotter</h2>
<p>The <a href="https://hdrhistogram.github.io/HdrHistogram/plotFiles.html">HdrHistogram Plotter</a> is a visualization tool for checking Pulsar Perf test results, which makes it easier to observe the test results.</p>
<p>To check test results through the HdrHistogram Plotter, follow these steps:</p>
<ol>
<li><p>Clone the HdrHistogram repository from GitHub to the local.</p>
<pre><code class="hljs">git <span class="hljs-keyword">clone</span> <span class="hljs-title">https</span>://github.com/HdrHistogram/HdrHistogram.git
</code></pre></li>
<li><p>Switch to the HdrHistogram folder.</p>
<pre><code class="hljs"><span class="hljs-built_in">cd</span> HdrHistogram
</code></pre></li>
<li><p>Install the HdrHistogram Plotter.</p>
<pre><code class="hljs"><span class="hljs-keyword">mvn </span>clean install -DskipTests
</code></pre></li>
<li><p>Transform the file generated by the Pulsar Perf.</p>
<pre><code class="hljs">./HistogramLogProcessor -i &lt;hgrm <span class="hljs-built_in">file</span> path <span class="hljs-keyword">that</span> pulsar-perf generated&gt; -o &lt;output <span class="hljs-built_in">file</span>&gt;
</code></pre></li>
<li><p>You will get two output files. Upload the output file with the filename extension of .hgrm to the <a href="https://hdrhistogram.github.io/HdrHistogram/plotFiles.html">HdrHistogram Plotter</a>.</p></li>
<li><p>Check the test result through the Graphical User Interface of the HdrHistogram Plotter, as shown blow.</p>
<p><img src="/docs/assets/perf-produce.png" alt=""></p></li>
</ol>
</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/2.7.0/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/en/2.7.0/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-perf">Pulsar Perf</a><ul class="toc-headings"><li><a href="#produce-messages">Produce messages</a></li><li><a href="#consume-messages">Consume messages</a></li><li><a href="#configurations">Configurations</a></li></ul></li><li><a href="#hdrhistogram-plotter">HdrHistogram Plotter</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2022 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Foundation.</section><span><script>
      const community = document.querySelector("a[href='#community']").parentNode;
      const communityMenu =
        '<li>' +
        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
        '<div id="community-dropdown" class="hide">' +
          '<ul id="community-dropdown-items">' +
            '<li><a href="/en/contact">Contact</a></li>' +
            '<li><a href="/en/contributing">Contributing</a></li>' +
            '<li><a href="/en/coding-guide">Coding guide</a></li>' +
            '<li><a href="/en/events">Events</a></li>' +
            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
            '<li><a href="https://github.com/apache/pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
            '<li><a href="https://github.com/apache/pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
            '<li><a href="https://pulsar-summit.org/" target="_blank">Pulsar Summit &#x2750</a></li>' +
            '<li>&nbsp;</li>' +
            '<li><a href="/en/resources">Resources</a></li>' +
            '<li><a href="/en/team">Team</a></li>' +
            '<li><a href="/en/powered-by">Powered By</a></li>' +
          '</ul>' +
        '</div>' +
        '</li>';

      community.innerHTML = communityMenu;

      const communityMenuItem = document.getElementById("community-menu");
      const communityDropDown = document.getElementById("community-dropdown");
      communityMenuItem.addEventListener("click", function(event) {
        event.preventDefault();

        if (communityDropDown.className == 'hide') {
          communityDropDown.className = 'visible';
        } else {
          communityDropDown.className = 'hide';
        }
      });
    </script></span></footer></div><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script></body></html>