{"id":369527,"date":"2023-02-28T10:43:41","date_gmt":"2023-02-28T10:43:41","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=369527"},"modified":"2026-02-05T07:19:51","modified_gmt":"2026-02-05T07:19:51","slug":"controller-timer-in-jmeter","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/","title":{"rendered":"Controller &amp; Timer in Jmeter"},"content":{"rendered":"\n<p>Discover how JMeter Controllers and Timers work together to control request flow and pacing in performance tests.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is JMeter?<\/h2>\n\n\n\n<p>JMeter is a popular open-source tool for load testing, performance testing, and functional testing of web applications. <\/p>\n\n\n\n<p>It provides various features and components to help you simulate real-world scenarios and test the performance and behavior of your application under different loads.<\/p>\n\n\n\n<p>For more details regarding <a href=\"https:\/\/webkul.com\/blog\/jmeter-for-performance-and-load-testing\/\">JMeter Performance Testing<\/a>, you can check this blog.<\/p>\n\n\n\n<p>For more details regarding Apache JMeter: <a href=\"https:\/\/jmeter.apache.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Click here<\/a>. <\/p>\n\n\n\n<p>In this blog, we will discuss two important components of JMeter, the JMeter Controller &amp; Timers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Logic Controller in JMeter<\/strong>:<\/h2>\n\n\n\n<p>A JMeter Controller is the main component of the JMeter test plan. It is responsible for creating and managing the test plan and its various components.<\/p>\n\n\n\n<p>The controller allows you to organize your test plan by adding and grouping different elements. There are several types of controllers in JMeter, each with its own set of features and functionality.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Types of Logic Controller:<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Simple Controller<\/strong>:<\/h4>\n\n\n\n<p class=\"has-text-align-left\"> It&#8217;s just a container for the user&#8217;s request. We can Add Simple Controller using the below steps.<\/p>\n\n\n\n<p class=\"has-text-align-left\">right click on Thread Group &gt;&gt; Add &gt;&gt; Logic Controller &gt;&gt; Simple Controller<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller-1200x652.png\" alt=\"simplecontroller\" class=\"wp-image-370740\" width=\"818\" height=\"444\" title=\"Logic Controller\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller-1200x652.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller-300x163.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller-250x136.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller-768x418.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller.png 1293w\" sizes=\"(max-width: 818px) 100vw, 818px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Loop Controller<\/strong>:<\/h4>\n\n\n\n<p>The loop controller will run the samplers\/requests stored in it for a definite number of times or forever. We can Add Loop Controller using the below steps.<\/p>\n\n\n\n<p>right click on Thread Group &gt;&gt; Add &gt;&gt; Logic Controller &gt;&gt; Loop Controller<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"653\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/loopcontroller-1200x653.png\" alt=\"loop-controller\" class=\"wp-image-370744\" title=\"Logic Controller\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/loopcontroller-1200x653.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/loopcontroller-300x163.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/loopcontroller-250x136.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/loopcontroller-768x418.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/loopcontroller.png 1294w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Transaction Controller:<\/h4>\n\n\n\n<p>It is used to group multiple sampler requests into one. We can Add a Transaction Controller using the below steps.<\/p>\n\n\n\n<p>Right click on Thread Group &gt;&gt; Add &gt;&gt; Logic Controller &gt;&gt; Transaction Controller<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"653\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/transactioncontroller-1200x653.png\" alt=\"transaction-controller\" class=\"wp-image-370746\" title=\"Transaction Controller\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/transactioncontroller-1200x653.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/transactioncontroller-300x163.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/transactioncontroller-250x136.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/transactioncontroller-768x418.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/transactioncontroller.png 1295w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Random Controller:<\/h4>\n\n\n\n<p>Random Controller makes all the user requests run in a random order in each loop period. We can Add Random Controller using the below steps.<\/p>\n\n\n\n<p>Right click on Thread Group &gt;&gt; Add &gt;&gt; Logic Controller &gt;&gt; Random Controller<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"654\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/randomcontroller-1200x654.png\" alt=\"random-controller\" class=\"wp-image-370747\" title=\"Random Controller\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/randomcontroller-1200x654.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/randomcontroller-300x164.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/randomcontroller-250x136.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/randomcontroller-768x419.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/randomcontroller.png 1295w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Interleave Controller<\/strong>:<\/h4>\n\n\n\n<p>It allows us to pick and execute a single child element out of multiple child in each loop iteration. We can Add Interleave Controller using the below steps.<\/p>\n\n\n\n<p>Right click on Thread Group &gt;&gt; Add &gt;&gt; Logic Controller &gt;&gt; Interleave Controller<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"654\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/interleave-1200x654.png\" alt=\"interleave\" class=\"wp-image-370748\" title=\"Interleave Controller\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/interleave-1200x654.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/interleave-300x164.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/interleave-250x136.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/interleave-768x419.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/interleave.png 1295w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Throughput Controller<\/strong>:<\/h4>\n\n\n\n<p>It is used to control the processing of its child elements in terms of the total number of executions or the percentage of execution specified in its control panel. We can Add a Throughput Controller using the below steps.<\/p>\n\n\n\n<p>Right click on Thread Group &gt;&gt; Add &gt;&gt; Logic Controller &gt;&gt; Throughput Controller<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"653\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/throughput-controller-1200x653.png\" alt=\"throughput-controller\" class=\"wp-image-370750\" title=\"Controller &amp; Timer\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/throughput-controller-1200x653.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/throughput-controller-300x163.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/throughput-controller-250x136.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/throughput-controller-768x418.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/throughput-controller.png 1296w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>If Controller<\/strong>:<\/h4>\n\n\n\n<p>If Controller works in a similar way an IF expression is treated in any programming language. The condition is validated first and then the components under this container execute if the condition is TRUE, otherwise, the elements outside the IF Controller will get executed. <\/p>\n\n\n\n<p>We can Add the If Controller using the below steps.<\/p>\n\n\n\n<p>Right click on Thread Group &gt;&gt; Add &gt;&gt; Logic Controller &gt;&gt; If Controller<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"655\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/if-controller-1200x655.png\" alt=\"if-controller\" class=\"wp-image-370755\" title=\"Controller &amp; Timer\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/if-controller-1200x655.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/if-controller-300x164.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/if-controller-250x136.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/if-controller-768x419.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/if-controller.png 1294w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>While Controller<\/strong>:<\/h4>\n\n\n\n<p>While Loop controller executes its samplers until the condition specified is not set to False. The condition can be any variable or function that eventually evaluates to the string false. We can Add a While Controller using the below steps.<\/p>\n\n\n\n<p>Right click on Thread Group &gt;&gt; Add &gt;&gt; Logic Controller &gt;&gt; While Controller<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"654\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/whilecontroller-1200x654.png\" alt=\"while-controller\" class=\"wp-image-370759\" title=\"Controller &amp; Timer\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/whilecontroller-1200x654.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/whilecontroller-300x163.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/whilecontroller-250x136.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/whilecontroller-768x418.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/whilecontroller.png 1296w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Timers in JMeter<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The purpose of the \u2018Timer\u2019 element is to pause a JMeter Thread for a certain amount of time.<\/li>\n\n\n\n<li>Timers allow JMeter to delay each request that a thread makes. A timer can solve the server overload problem.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Types Of Timer:<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Constant Timers<\/strong>:<\/h4>\n\n\n\n<p>It delays each user request for the same amount of time.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"654\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/constant-timmer-1200x654.png\" alt=\"constant-timer\" class=\"wp-image-370773\" title=\"Controller &amp; Timer\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/constant-timmer-1200x654.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/constant-timmer-300x163.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/constant-timmer-250x136.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/constant-timmer-768x418.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/constant-timmer.png 1296w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Gaussian Random Timer:<\/h4>\n\n\n\n<p>The Gaussian random timer delays each user request for a random amount of time.<\/p>\n\n\n\n<p>Gaussian Distribution of Deviation Value + Constant Delay Offset = Total Delay Time<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"653\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/gaussion-timmer-1200x653.png\" alt=\"gaussion-timer\" class=\"wp-image-370775\" title=\"Controller &amp; Timer\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/gaussion-timmer-1200x653.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/gaussion-timmer-300x163.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/gaussion-timmer-250x136.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/gaussion-timmer-768x418.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/gaussion-timmer.png 1296w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p><strong>Uniform Random Timer<\/strong>: <\/p>\n\n\n\n<p>A uniform random timer delays each user request for a random amount of time.<\/p>\n\n\n\n<p>Total amount of delay = Random Delay Maximum + Constant Delay Offset<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"656\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/uniform-random-timmer-1200x656.png\" alt=\"uniform-random-timer\" class=\"wp-image-370778\" title=\"Controller &amp; Timer\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/uniform-random-timmer-1200x656.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/uniform-random-timmer-300x164.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/uniform-random-timmer-250x137.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/uniform-random-timmer-768x420.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/uniform-random-timmer.png 1296w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p><strong>Synchronizing Timer<\/strong>: <\/p>\n\n\n\n<p>It holds the threads until X number of threads have arrived, and then they are all released at once. It adds delays between requests such that all (defined) threads fire at the same time thus creating heavy load bursts on the application. <\/p>\n\n\n\n<p>This timer is very useful to make users (threads) do simultaneous tasks.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"655\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/Synchronizingtimer-1200x655.png\" alt=\"Synchronizing-timer\" class=\"wp-image-370788\" title=\"Controller &amp; Timer\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/Synchronizingtimer-1200x655.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/Synchronizingtimer-300x164.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/Synchronizingtimer-250x136.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/Synchronizingtimer-768x419.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/Synchronizingtimer.png 1295w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-left\"><strong>Poisson random Timer<\/strong>: <\/p>\n\n\n\n<p class=\"has-text-align-left\">It is similar to a Gaussian Random timer. It provides delay time between the requests for a random interval of time and the total delay in time is the sum of both Lambda (in milliseconds) and Constant Delay offset (in milliseconds). <\/p>\n\n\n\n<p class=\"has-text-align-left\">Random number generation is based on Poisson distribution.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><img decoding=\"async\" width=\"1200\" height=\"653\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/poisson-random-timer-1200x653.png\" alt=\"poisson-random-timer\" class=\"wp-image-370790\" title=\"Controller &amp; Timer\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/poisson-random-timer-1200x653.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/poisson-random-timer-300x163.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/poisson-random-timer-250x136.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/poisson-random-timer-768x418.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/poisson-random-timer.png 1297w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>That\u2019s all about <strong>Controller &amp; Timer in JMeter<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Discover how JMeter Controllers and Timers work together to control request flow and pacing in performance tests. What is JMeter? JMeter is a popular open-source tool for load testing, performance testing, and functional testing of web applications. It provides various features and components to help you simulate real-world scenarios and test the performance and behavior <a href=\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":506,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-369527","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Controller &amp; Timer in JMeter - Webkul Blog<\/title>\n<meta name=\"description\" content=\"JMeter is a popular open-source tool for load, performance, and functional testing. JMeter Controller &amp; Timers are two components.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Controller &amp; Timer in JMeter - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"JMeter is a popular open-source tool for load, performance, and functional testing. JMeter Controller &amp; Timers are two components.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-28T10:43:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-05T07:19:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller-1200x652.png\" \/>\n<meta name=\"author\" content=\"Kumawat Ankit\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kumawat Ankit\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/\"},\"author\":{\"name\":\"Kumawat Ankit\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/667c6483d9718cdd2e9d691895b2529c\"},\"headline\":\"Controller &amp; Timer in Jmeter\",\"datePublished\":\"2023-02-28T10:43:41+00:00\",\"dateModified\":\"2026-02-05T07:19:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/\"},\"wordCount\":791,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller-1200x652.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/\",\"url\":\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/\",\"name\":\"Controller & Timer in JMeter - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller-1200x652.png\",\"datePublished\":\"2023-02-28T10:43:41+00:00\",\"dateModified\":\"2026-02-05T07:19:51+00:00\",\"description\":\"JMeter is a popular open-source tool for load, performance, and functional testing. JMeter Controller & Timers are two components.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller.png\",\"width\":1293,\"height\":703,\"caption\":\"simplecontroller\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Controller &amp; Timer in Jmeter\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/667c6483d9718cdd2e9d691895b2529c\",\"name\":\"Kumawat Ankit\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d27fa92fa1740d08d20ae49901026a91e0447245d9064e0b0533f359cd63fb2c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d27fa92fa1740d08d20ae49901026a91e0447245d9064e0b0533f359cd63fb2c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Kumawat Ankit\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/ankitkumawat-wp992\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Controller & Timer in JMeter - Webkul Blog","description":"JMeter is a popular open-source tool for load, performance, and functional testing. JMeter Controller & Timers are two components.","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:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/","og_locale":"en_US","og_type":"article","og_title":"Controller & Timer in JMeter - Webkul Blog","og_description":"JMeter is a popular open-source tool for load, performance, and functional testing. JMeter Controller & Timers are two components.","og_url":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2023-02-28T10:43:41+00:00","article_modified_time":"2026-02-05T07:19:51+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller-1200x652.png","type":"","width":"","height":""}],"author":"Kumawat Ankit","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Kumawat Ankit","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/"},"author":{"name":"Kumawat Ankit","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/667c6483d9718cdd2e9d691895b2529c"},"headline":"Controller &amp; Timer in Jmeter","datePublished":"2023-02-28T10:43:41+00:00","dateModified":"2026-02-05T07:19:51+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/"},"wordCount":791,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller-1200x652.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/","url":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/","name":"Controller & Timer in JMeter - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller-1200x652.png","datePublished":"2023-02-28T10:43:41+00:00","dateModified":"2026-02-05T07:19:51+00:00","description":"JMeter is a popular open-source tool for load, performance, and functional testing. JMeter Controller & Timers are two components.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/simplecontroller.png","width":1293,"height":703,"caption":"simplecontroller"},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/controller-timer-in-jmeter\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Controller &amp; Timer in Jmeter"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/667c6483d9718cdd2e9d691895b2529c","name":"Kumawat Ankit","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d27fa92fa1740d08d20ae49901026a91e0447245d9064e0b0533f359cd63fb2c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d27fa92fa1740d08d20ae49901026a91e0447245d9064e0b0533f359cd63fb2c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Kumawat Ankit"},"url":"https:\/\/webkul.com\/blog\/author\/ankitkumawat-wp992\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/369527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/506"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=369527"}],"version-history":[{"count":20,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/369527\/revisions"}],"predecessor-version":[{"id":524973,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/369527\/revisions\/524973"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=369527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=369527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=369527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}