

{"id":15741,"date":"2018-06-02T06:03:57","date_gmt":"2018-06-02T06:03:57","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=15741"},"modified":"2018-06-02T06:03:57","modified_gmt":"2018-06-02T06:03:57","slug":"kafka-load-testing","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/","title":{"rendered":"Apache Kafka Load Testing Using JMeter"},"content":{"rendered":"<p><span style=\"font-weight: 400\">In this <strong>Apache Kafka<\/strong> tutorial, we will learn that by using Apache JMeter, how to perform Kafka Load Test at Apache Kafka.<\/span><\/p>\n<p><span style=\"font-weight: 400\"> Moreover, this Kafka load testing tutorial teaches us how to configure the producer and consumer that means developing Apache <strong>Kafka Consumer<\/strong> and Kafka Producer using JMeter. At last, we will see building the Kafka load testing scenario in Jmeter. <\/span><\/p>\n<p><span style=\"font-weight: 400\">However, before Kafka Load Testing let&#8217;s study brief introduction to Kafka to understand further work well.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">What is Apache Kafka?<\/span><\/h2>\n<p><span style=\"font-weight: 400\">In simple words, Apache Kafka is a hybrid of a distributed database and a message queue. In order to process terabytes of information, many large companies use it. Also, for its features, Kafka is widely popular. <\/span><\/p>\n<p><span style=\"font-weight: 400\">For example, in a company like LinkedIn uses it to stream data about user activity, and the company like Netflix uses it for data collection and buffering for downstream systems like Elasticsearch, Amazon EMR, Mantis and many more.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Moreover, let\u2019s throw light on some features of Kafka which are important for Kafka Load Testing:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">By default, the long message storing time &#8211; a week.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Due to sequential I\/O, high performance.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Also, convenient clustering.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">To replicate and distribute queues across the cluster, high availability of data due to the capability.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Apart from data transfer, it can also process by using <strong>Streaming<\/strong> API.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">As we know, to work with a very large amount of data, we use Kafka. Hence, at the time of Kafka Load Testing with JMeter, pay attention to the following aspects:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If we write data constantly to the disk, that will affect the capacity of the server. Because, it will reach a denial of service state, if insufficient.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">However, the distribution of sections and the number of brokers also affects the use of service capacity. <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">However, everything becomes even more complicated while we use the replication feature. The reason behind it is, \u00a0its maintenance requires even more resources, and the case when brokers refuse to receive messages becomes even more possible.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Although, it is the possibility that data may lose while it is processed in such huge amounts, even though most processes are automated. Hence, we can say testing of these services is very important and also it is essential to be able to generate a proper load.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Make sure, Apache Kafka load testing will be installed on Ubuntu, in order to demonstrate it. In addition, we will use the <strong>Pepper-Box<\/strong> plugin as a producer, due to its more convenient interface to work with message generation than <strong>kafkameter<\/strong> does. <\/span><\/p>\n<p><span style=\"font-weight: 400\">However, no plugin provides consumer implementation so we have to implement the consumer on our own. And, we are going to use the<strong> JSR223<\/strong> Sampler to do that. Now, let&#8217;s move towards Kafka Load Testing.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Configuring The Producer &#8211; Pepper-Box<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Now, in order to install the plugin, we need to compile this<strong> source code<\/strong> or <strong>download the<\/strong> <strong>jar file<\/strong>. Further, we need to put it in the lib\/ext folder and restart <strong>JMeter<\/strong>.<\/span><\/p>\n<div id=\"attachment_16356\" style=\"width: 1090px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Configuring-The-Producer-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-16356\" class=\"wp-image-16356 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Configuring-The-Producer-01.jpg\" alt=\"Kafka Load Testing: Configuring the Producer\" width=\"1080\" height=\"772\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Configuring-The-Producer-01.jpg 1080w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Configuring-The-Producer-01-150x107.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Configuring-The-Producer-01-300x214.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Configuring-The-Producer-01-768x549.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Configuring-The-Producer-01-1024x732.jpg 1024w\" sizes=\"auto, (max-width: 1080px) 100vw, 1080px\" \/><\/a><p id=\"caption-attachment-16356\" class=\"wp-caption-text\">Kafka Load Testing: Configuring the Producer<\/p><\/div>\n<p><span style=\"font-weight: 400\">Basically, there are 3 elements of this plug-in:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Pepper-Box PlainText Config<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">It allows building text messages according to a specified template.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Pepper-Box Serialized Config <\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">This config permits to build a message that is a serialized java object.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">PepperBoxKafkaSampler<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">It is designed to send the messages that were built by previous elements.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Let\u2019s learn all these configurations for Kafka load testing in detail:<\/span><\/p>\n<h3>a. Pepper-Box PlainText Configuration<\/h3>\n<p><span style=\"font-weight: 400\"> Follow these steps to add this item, first go to the <strong>Thread group -&gt; Add -&gt; Config Element -&gt; Pepper-Box PlainText Config<\/strong><\/span><br \/>\nPepper-Box PlainText Config element in Kafka Load Testing has 2 fields:<\/p>\n<h4>i. Message Placeholder Key<\/h4>\n<p><span style=\"font-weight: 400\">While we want to use the template from this element, it is a key that will need to be specified in the PepperBoxKafkaSampler.<\/span><\/p>\n<h4>ii. Schema Template<\/h4>\n<p><span style=\"font-weight: 400\">This is the message template in which we can use JMeter variables and functions, and also can plugin functions. However, this message structure can be anything, from plain text to JSON or XML.<\/span><\/p>\n<h3>b. Pepper-Box Serialized Configuration<\/h3>\n<p><span style=\"font-weight: 400\">Now, follow several steps to add this element, first go to <strong>Thread group -&gt; Add -&gt; Config Element -&gt; Pepper-Box Serialized Config<\/strong><\/span><\/p>\n<p><span style=\"font-weight: 400\">However, this element has a field for the key and the Class Name field, which is intended for specifying the <strong>Java class<\/strong>. Makes sure that the <strong>jar file<\/strong> with the class, must be placed in the lib\/ext folder. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Hence, the fields with its properties will appear below just after it is specified, and also it is possible to assign desired values to them now. Although, here again, we repeated the message from the last element, it will be a <strong>Java object<\/strong> this time.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">c.\u00a0<\/span>PepperBoxKafkaSampler<\/h3>\n<p><span style=\"font-weight: 400\">Further, in order to add this element, follow these steps. First \u00a0go to <strong>Thread group -&gt; Add -&gt; Sampler -&gt; Java Request<\/strong>. Afterward, select <strong>com.gslab.pepper.sampler.PepperBoxKafkaSampler<\/strong> from the drop-down list. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Basically, there are following settings of this element:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>bootstrap.servers\/zookeeper.servers<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Addresses of brokers\/ zookeepers in the format of broker-ip-1: port, broker-ip-2: port, etc.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>kafka.topic.name<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">It is the name of the topic for message publication.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>key.serializer<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">However, it is a class for key serialization. If there is no key in the message, leave it unchanged.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>value.serializes<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">It is a class for message serialization. The field remains unchanged, for a simple text. we need to specify &#8220;com.gslab.pepper.input.serialized.ObjectSerializer&#8221;, when using Pepper-Box Serialized Config.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>compression.type<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Basically, it is a type of message compression (none\/gzip\/snappy\/lz4)<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\"><strong>batch.size<\/strong> <\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">It is the largest message size.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>linger.ms<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">This is considered the message waiting time.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>buffer.memory<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">It is the producer&#8217;s buffer size.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>acks<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">This is the quality of service (-1\/0\/1 &#8211; delivery is not guaranteed\/the message will surely be delivered\/the message will be delivered once).<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>receive.buffer.bytes\/send.buffer.bytes<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">It the size of the TCP send\/receive buffer. -1 &#8211; use the default OS value.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>security.protocol <\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">This is the encryption protocol (PLAINTEXT\/SSL\/SASL_PLAINTEXT\/ SASL_SSL).<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>message.placeholder.key<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">It is the message key, which was specified in the previous elements.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>kerberos.auth.enabled,java.security.auth.login.config,java.security.krb5.conf,sasl.kerberos.service.name<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">These all are a field group responsible for the authentication.<\/span><br \/>\n<span style=\"font-weight: 400\">Generally, we can add additional parameters using the prefix _ before the name, if necessary.<\/span><br \/>\n<span style=\"font-weight: 400\">For example,<\/span><br \/>\n<span style=\"font-weight: 400\"> _ssl.key.password.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Configuring the Consumer<\/span><\/h2>\n<p><span style=\"font-weight: 400\">As we have a producer that creates the largest load on the server, the service has to deliver messages too. Hence, to more accurately reproduce the situations, we should also add consumers. Moreover, we can also use it to check whether all consumer messages have been delivered.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example, <\/span><br \/>\n<span style=\"font-weight: 400\">Let\u2019s take the following source code and briefly touch upon its steps for a better understanding of Kafka <\/span><\/p>\n<p><span style=\"font-weight: 400\">Load Testing:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">Properties props = new Properties();\n     props.put(\"bootstrap.servers\", \"localhost:9092\");\n     props.put(\"group.id\", group);\n     props.put(\"enable.auto.commit\", \"true\");\n     props.put(\"auto.commit.interval.ms\", \"1000\");\n     props.put(\"session.timeout.ms\", \"30000\");\n     props.put(\"key.deserializer\",\n        \"org.apache.kafka.common.serializa-tion.StringDeserializer\");\n     props.put(\"value.deserializer\",\n        \"org.apache.kafka.common.serializa-tion.StringDeserializer\");\n     KafkaConsumer&lt;String, String&gt; consumer = new KafkaConsumer&lt;String, String&gt;(props);\n     consumer.subscribe(Arrays.asList(topic));\n     System.out.println(\"Subscribed to topic \" + topic);\n     int i = 0;\n     while (true) {\n        ConsumerRecords&lt;String, String&gt; records = con-sumer.poll(100);\n           for (ConsumerRecord&lt;String, String&gt; record : records)\n              System.out.printf(\"offset = %d, key = %s, value = %s\\n\",\n              record.offset(), record.key(), record.value());\n     }<\/pre>\n<ol>\n<li><span style=\"font-weight: 400\">Basically, a connection configuration is performed.<\/span><\/li>\n<li><span style=\"font-weight: 400\">Also, a topic is to be specified and a subscription is made to it.<\/span><\/li>\n<li>Moreover, Messages are received in the cycle of this topic and are also brought out to the console.<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">Hence, to the JSR223 Sampler in JMeter, all this code will be added with some modifications.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Building the Kafka Load Testing Scenario in JMeter<\/span><\/h2>\n<p><span style=\"font-weight: 400\">After learning all these necessary elements for creating the load, now let\u2019s do posting several messages to the topic of our Kafka service. Hence, assume that we have a resource from which the data on its activities are collected. The information will be sent as an XML document.<\/span><\/p>\n<ol>\n<li><span style=\"font-weight: 400\"> At first, add the Pepper-Box PlainText Config and also create a template. However, the structure of the message will be as follows: <strong>Message number, Message-ID, Item ID<\/strong> which the statistics are collected from, the Statistics, Sending date stamp.<\/span><\/li>\n<li><span style=\"font-weight: 400\"> Further, add the PepperBoxKafkaSampler, and specify the addresses of bootstrap.servers and kafka.topic.name from our Kafka service. <\/span><\/li>\n<li><span style=\"font-weight: 400\"> Then, add the JSR223 Sampler with the consumer code to a separate Thread Group. Also, we will need kafka-clients-x.x.x.x.jar files, for it to work. It carries classes for working with Kafka. We can easily find it in our Kafka directory &#8211; \/kafka\/lib.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">Here, instead of displaying script in the console, we modified part of the script and now it saves the data to a file. It is actually done for a more convenient analysis of the results. Also, we have added the part which is necessary for setting the execution time of the consumer.\u00a0\u00a0<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">Updated part:\n long t = System.currentTimeMillis();\n long end = t + 5000;\n f = new FileOutputStream(\".\\\\data.csv\", true);\n p = new PrintStream(f);\n while (System.currentTimeMillis()&lt;end)\n {\n     ConsumerRecords&lt;String, String&gt; records = consumer.poll(100);\n     for (ConsumerRecord&lt;String, String&gt; record : records)\n    {\n        p.println( \"offset = \" + record.offset() +\" value = \" + record.value());\n    }\n    consumer.commitSync();\n  }\n  consumer.close();\n  p.close();\n  f.close();<\/pre>\n<p><span style=\"font-family: Verdana, Geneva, sans-serif\">As a result, the structure of the script looks as follows. Here, both the threads work simultaneously. <\/span><\/p>\n<p><span style=\"font-family: Verdana, Geneva, sans-serif\">Kafka Producers begin to publish messages to the specified topics and the Kafka Consumers connect to the topics and wait for messages from Kafka.<\/span><span style=\"font-family: Verdana, Geneva, sans-serif\"> Also, it writes the message to a file, at the time the consumer receives the message.<\/span><\/p>\n<ol>\n<li><span style=\"font-weight: 400\"> Finally, run the script and view the results.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">We can see the received messages in the opened file. Although, we just have to adjust the number of consumers and producers to increase the load, after that. <\/span><\/p>\n<p><span style=\"font-weight: 400\"><strong>Note:<\/strong> Do not use random data for messages during the testing, because they can differ in size significantly from the current ones, and that difference may affect the test results. <\/span><\/p>\n<p>So, this was all about how to load test with JMeter in Apache Kafka. Hope you like our explanation of Kafka Load Testing using JMeter.<\/p>\n<h2><span style=\"font-weight: 400\">Conclusion<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Hence, we have seen how to use a JMeter for load testing the Apache Kafka. Moreover, in Kafka Load Testing, we saw configuring the producer and consumer using JMeter and load testing tools for Kafka. <\/span><\/p>\n<p><span style=\"font-weight: 400\">At last, we learned how to build the Kafka Load Testing Scenario in JMeter. However, if you have any doubt regarding Kafka Load Testing with JMeter, feel free to ask through the comment tab.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this Apache Kafka tutorial, we will learn that by using Apache JMeter, how to perform Kafka Load Test at Apache Kafka. Moreover, this Kafka load testing tutorial teaches us how to configure the&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":16365,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[2884,2885,3803,3804,7894,7913,7983,7984,7985,8354,15590],"class_list":["post-15741","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kafka","tag-configuring-the-consumer","tag-configuring-the-producer","tag-developing-the-consumer","tag-developing-the-producer","tag-kafka-load-testing-using-jmeter","tag-kafka-overview","tag-kafka-load-test","tag-kafka-load-testing","tag-kafka-load-testing-tutorial","tag-load-test","tag-what-is-apache-kafka"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Apache Kafka Load Testing Using JMeter - DataFlair<\/title>\n<meta name=\"description\" content=\"Apache Kafka Load Testing Scenario using JMeter, Kafka Overview,Developing Kafka Producer and Consumer Using JMeter,building scenario in JMeter Load Testing\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Kafka Load Testing Using JMeter - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Apache Kafka Load Testing Scenario using JMeter, Kafka Overview,Developing Kafka Producer and Consumer Using JMeter,building scenario in JMeter Load Testing\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-02T06:03:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Load-Testing-Using-JMeter-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apache Kafka Load Testing Using JMeter - DataFlair","description":"Apache Kafka Load Testing Scenario using JMeter, Kafka Overview,Developing Kafka Producer and Consumer Using JMeter,building scenario in JMeter Load Testing","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/","og_locale":"en_US","og_type":"article","og_title":"Apache Kafka Load Testing Using JMeter - DataFlair","og_description":"Apache Kafka Load Testing Scenario using JMeter, Kafka Overview,Developing Kafka Producer and Consumer Using JMeter,building scenario in JMeter Load Testing","og_url":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-06-02T06:03:57+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Load-Testing-Using-JMeter-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"Apache Kafka Load Testing Using JMeter","datePublished":"2018-06-02T06:03:57+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/"},"wordCount":1637,"commentCount":7,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Load-Testing-Using-JMeter-01.jpg","keywords":["Configuring The Consumer","Configuring The Producer","developing the consumer","developing the producer","Kafka Load Testing using Jmeter","Kafka overview","Kafka-Load Test","Kafka-Load testing","Kafka-load testing tutorial","Load test","what is apache kafka"],"articleSection":["Apache Kafka Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/kafka-load-testing\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/","url":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/","name":"Apache Kafka Load Testing Using JMeter - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Load-Testing-Using-JMeter-01.jpg","datePublished":"2018-06-02T06:03:57+00:00","description":"Apache Kafka Load Testing Scenario using JMeter, Kafka Overview,Developing Kafka Producer and Consumer Using JMeter,building scenario in JMeter Load Testing","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/kafka-load-testing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Load-Testing-Using-JMeter-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/05\/Load-Testing-Using-JMeter-01.jpg","width":1200,"height":628,"caption":"Apache Kafka-Load Testing Using JMeter"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/kafka-load-testing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Apache Kafka Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/kafka\/"},{"@type":"ListItem","position":3,"name":"Apache Kafka Load Testing Using JMeter"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team creates expert-level guides on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our goal is to empower learners with easy-to-understand content. Explore our resources for career growth and practical learning.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam1\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/15741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=15741"}],"version-history":[{"count":0,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/15741\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/16365"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=15741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=15741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=15741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}