Introduction to Apache JMeter

The Apache JMeter™ 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.

Apache JMeter is a Java-based stress testing tool developed by the Apache organization. Used for stress testing software, it was originally designed for web application testing, but has since expanded to other testing areas. It can be used to test static and dynamic resources such as static files, Java servlets, CGI scripts, Java objects, databases, FTP servers, and more. JMeter can be used to simulate huge loads on servers, networks or objects, test their intensity from different stress categories and analyze overall performance. Additionally, JMeter can do functional/regression testing of your application by creating scripts with assertions to verify that your program returns the results you expect. For maximum flexibility, JMeter allows the use of regular expressions to create assertions.

Apache jmeter can be used to test the performance of static and dynamic resources (files, servlets, Perl scripts, java objects, databases and queries, FTP servers, etc.). It can be used to simulate heavy loads on servers, networks or objects to test their strength or analyze overall performance under different stress types. You can use it to do graphical analysis of performance or test your servers/scripts/objects under large concurrent loads.

 


 

 

What can I do with it?

Apache JMeter may be used to test performance both on static and dynamic resources (Webservices (SOAP/REST), Web dynamic languages - PHP, Java, ASP.NET, Files, etc. -, Java Objects, Data Bases and Queries, FTP Servers and more). It can be used to simulate a heavy load on a server, group of servers, network or object to test its strength or to analyze overall performance under different load types. You can use it to make a graphical analysis of performance or to test your server/script/object behavior under heavy concurrent load.

 

What does it do?

Apache JMeter features include:

Ability to load and performance test many different server/protocol types:

Web - HTTP, HTTPS

SOAP / REST

FTP

Database via JDBC

LDAP

Message-oriented middleware (MOM) via JMS

Mail - SMTP(S), POP3(S) and IMAP(S)

Native commands or shell scripts

TCP

Complete portability and 100% Java purity.

Full multithreading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.

Careful GUI design allows faster Test Plan building and debugging.

Caching and offline analysis/replaying of test results.

Highly Extensible core:

Pluggable Samplers allow unlimited testing capabilities.

Several load statistics may be chosen with pluggable timers.

Data analysis and visualization plugins allow great extensibility as well as personalization.

Functions can be used to provide dynamic input to a test or provide data manipulation.

Scriptable Samplers (BeanShell, BSF-compatible languages and JSR223-compatible languages)

JMeter is not a browser

 

JMeter is not a browser. As far as web-services and remote services are concerned, JMeter looks like a browser (or rather, multiple browsers); however JMeter does not perform all the actions supported by browsers. In particular, JMeter does not execute the Javascript found in HTML pages. Nor does it render the HTML pages as a browser does (it's possible to view the response as HTML etc., but the timings are not included in any samples, and only one sample in one thread is ever viewed at a time).

The role of JMeter

1. Ability to stress[1] and performance test HTTP and FTP servers, and can do the same for any database (via JDBC).

2. Complete portability and 100% pure java.

3. Full Swing and lightweight component support (precompiled JAR using javax.swing.*) package.

4. The fully multithreaded framework allows concurrent sampling by multiple threads and simultaneous sampling of different functions by separate thread groups.

5. Careful GUI design allows quick operation and more precise timing.

6. Cache and offline analysis/playback of test results.

High scalability of JMeter

1. Linkable samplers allow unlimited testing capabilities.

2. Various load statistics tables and linkable timers are available.

3. Data analysis and visualization plugins provide great scalability and personalization.

4. Has the ability to provide dynamic input to tests (including Javascript).

5. Sampler that supports script programming (BeanShell is supported in version 1.9.2 and above).

In the design phase, JMeter can act as an HTTP PROXY (proxy) to record HTTP requests of IE/NETSCAPE, and can also record the log files of WebServer such as apache to reproduce HTTP traffic. When these HTTP client requests are recorded, the number of repetitions and concurrency (number of threads) can be easily set during the test run to generate huge traffic. JMeter also provides visualization components and reporting tools to show the performance of the server under different pressures. [2] 

Compared with other HTTP testing tools, the main feature of JMeter is its strong scalability. JMeter can automatically scan for plugins in .jar files in its lib/ext subdirectory and load them into memory for users to invoke through different menus.

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=327077080&siteId=291194637