Introduction to Apache JMeter
Published: 2021-01-06 16:29:40

<!-- wp:paragraph -->
<p>Welcome to Learn JMeter Series! This series helps you to learn Apache JMeter in a much simpler way with the relevant examples and exercises. This inception article talks about the introduction to Apache JMeter. Let's get started.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="h-prerequisites">Prerequisites</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Following are the prerequisites expected to know, but it is optional to proceed further. If you are unsure, just do a quick search in the internet and learn, you will be good.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>Basics about performance testing</li><li>How internet works?</li><li>Basics of Computer Networking</li><li>Any programming language</li></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 id="h-about-apache-jmeter">About Apache JMeter</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Here is the official definition of Apache JMeter:</p>
<!-- /wp:paragraph -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><p>The <strong>Apache JMeter™</strong> application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.</p><cite>Source: https://jmeter.apache.org/</cite></blockquote>
<!-- /wp:quote -->

<!-- wp:paragraph -->
<p>Apache JMeter is free, open source tool written in Java which helps you to run performance testing, automation, and more. Originally it was created to test web application, but with the help of open source community, now it supports most of the protocols.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":8035,"sizeSlug":"large","linkDestination":"media"} -->
<figure class="wp-block-image size-large"><a href="https://qainsights.com/wp-content/uploads/2020/12/Introduction-to-Apache-JMeter.png"><img src="https://qainsights.com/wp-content/uploads/2020/12/Introduction-to-Apache-JMeter.png" alt="" class="wp-image-8035"/></a></figure>
<!-- /wp:image -->

<!-- wp:heading -->
<h2 id="h-main-features-of-apache-jmeter">Main Features of Apache JMeter</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>JMeter supports following protocols, but you can extend the functionality by writing custom code.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>Web - HTTP(S)</li><li>SOAP / REST Webservices</li><li>FTP</li><li>Database via JDBC</li><li>LDAP</li><li>Message-oriented middleware (MOM) via JMS</li><li>Mail - SMTP(S), POP3(S) and IMAP(S)</li><li>Native commands or shell scripts</li><li>TCP</li><li>Java Objects</li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>JMeter has a simple User Interface which helps you to record, replay, debug and run your load tests. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can run JMeter in any platform where you can run Java. It comes with powerful features like Reports, Correlations, Custom Coding, Third-party Integrations, CI/CD, Visualization, and Multi-Threading support.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>JMeter has two modes: CLI and Non-CLI. Command Line Interface (CLI) helps you to run the load test; Non-CLI mode helps you to record, replay, and debug your test plans.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="h-important-links">Important Links</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li>https://jmeter.apache.org/</li><li>https://jmeter-plugins.org/</li><li><a href="https://www.youtube.com/playlist?list=PLJ9A48W0kpRIjLkZ32Do9yDZXnnm7_uj_" target="_blank" rel="noreferrer noopener">https://www.youtube.com/playlist?list=PLJ9A48W0kpRIjLkZ32Do9yDZXnnm7_uj_</a></li></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 id="h-sky-is-the-limit">Sky is the limit</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you have any custom requirement, you can request it to the community or you can write it yourself. The only limit is the sky.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="h-can-we-use-jmeter-to-measure-the-client-side-performance">Can we use JMeter to measure the client-side performance?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The answer would be Yes and No. By default, JMeter measures the server-side metrics such as response time, hits/second, throughput, and other resource utilization. If you would like to measure the browser side (client-side) performance, then you can use Selenium Web driver. But from experience, the effort would be more to maintain the scripts and from the load perspective. </p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="h-is-jmeter-a-browser">Is JMeter a browser?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>No. JMeter doesn't execute JavaScript. It will display the results how your browser displays. </p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="h-is-it-mandatory-to-use-jmeter-plugins">Is it mandatory to use JMeter Plugins?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>It depends on your requirement. In some instances, the vanilla features of JMeter might not meet your requirements. In that case, JMeter Plugins might help you.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="h-what-version-of-jmeter-is-recommended">What version of JMeter is recommended?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Always use the latest version of JMeter. It will have all fixes (previous release bugs), performance improvements, enhancements and more.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Here is the JMeter version, release date, and its size:</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":8033,"sizeSlug":"large","linkDestination":"media"} -->
<figure class="wp-block-image size-large"><a href="https://qainsights.com/wp-content/uploads/2020/12/JMeter-Version-Size.png"><img src="https://qainsights.com/wp-content/uploads/2020/12/JMeter-Version-Size-1024x512.png" alt="JMeter version, release date, and its size" class="wp-image-8033"/></a><figcaption>JMeter version, release date, and its size</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Let's get started.</p>
<!-- /wp:paragraph -->