{"id":10494,"date":"2023-04-14T07:27:48","date_gmt":"2023-04-14T11:27:48","guid":{"rendered":"https:\/\/www.redline13.com\/blog\/?p=10494"},"modified":"2023-04-14T07:27:49","modified_gmt":"2023-04-14T11:27:49","slug":"jmeter-timers","status":"publish","type":"post","link":"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/","title":{"rendered":"JMeter Timers Primer"},"content":{"rendered":"<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-10495\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10494-1.png\" alt=\"JMeter Primer on Timers\" width=\"400\" height=\"300\" srcset=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10494-1.png 400w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10494-1-300x225.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/strong><\/p>\n<p>Some of the most versatile components in <a href=\"https:\/\/jmeter.apache.org\/usermanual\/index.html\">JMeter<\/a> are timers. Without JMeter timers, elements of a JMeter test plan are executed sequentially without pausing. This can potentially overwhelm your target test application by generating too many requests in a short period of time. In this brief post, we will cover most of the available types of timers that can be used in JMeter test plans.<\/p>\n<p>You can find all available timer elements under the \u201c<em>Timers<\/em>\u201d submenu when adding new elements to your test plan as illustrated below:<\/p>\n<figure id=\"attachment_10496\" class=\"wp-caption aligncenter\" style=\"max-width: 649px\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-10496\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10494-2.png\" alt=\"Available JMeter timers when creating a JMeter test plan\" width=\"649\" height=\"295\" srcset=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10494-2.png 649w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10494-2-300x136.png 300w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10494-2-420x190.png 420w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10494-2-425x193.png 425w\" sizes=\"auto, (max-width: 649px) 100vw, 649px\" \/><figcaption class=\"wp-caption-text\">Available timer elements when creating a JMeter test plan.<\/figcaption><\/figure>\n<p>One caveat to using timers is knowing how JMeter applies the delay. For a given group of requests within the same <a href=\"https:\/\/jmeter.apache.org\/usermanual\/test_plan.html#scoping_rules\">scope<\/a>, JMeter will apply the sum total duration for all timers in that scope <em>before<\/em> requests are made. This is an important concept when multiple timers are used, especially if they are intended to be interspersed between multiple subsequent requests. Below you will find a categorized list of the most common timer elements included with JMeter.<\/p>\n<h3><a id=\"post-10494-_4snkgibjgtft\"><\/a>Basic Timers:<\/h3>\n<ul>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Constant_Timer\"><strong><em>Constant Timer<\/em><\/strong><\/a> \u2192 the most basic timer type which adds a simple delay to your test with no other parameters.<\/li>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Uniform_Random_Timer\"><strong><em>Uniform Random Timer<\/em><\/strong><\/a> \u2192 similar to the <em>Constant Timer<\/em> except this element will add a random delay to a constant baseline delay each time it is executed.<\/li>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Gaussian_Random_Timer\"><strong><em>Gaussian Random Timer<\/em><\/strong><\/a> \u2192 nearly identical to <em>Uniform Random Timer<\/em>, except uses a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Marsaglia_polar_method\">different algorithm<\/a> for random delay value generation.<\/li>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Poisson_Random_Timer\"><strong><em>Poisson Random Timer<\/em><\/strong><\/a> \u2192 similar to the Gaussian Random Timer, however uses a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Poisson_distribution\">Poisson distribution<\/a> as its delay value generation algorithm.<\/li>\n<\/ul>\n<h3><a id=\"post-10494-_ktxkhl59zhpn\"><\/a>Throughput and Shaping Timers:<\/h3>\n<ul>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Poisson_Random_Timer\"><strong><em>Precise Throughput Timer<\/em><\/strong><\/a> \u2192 this timer will vary its delay interval to keep requests at or below a certain threshold.<\/li>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Constant_Throughput_Timer\"><strong><em>Constant Throughput Timer<\/em><\/strong><\/a> \u2192 similar to the previous timer however will vary threads within a <a href=\"https:\/\/jmeter.apache.org\/usermanual\/test_plan.html#thread_group\"><em>Thread Group<\/em><\/a> to match a certain threshold.\u00a0We cover this concept in more detail <a href=\"https:\/\/www.redline13.com\/blog\/2020\/10\/controlling-the-throughput-in-jmeter\/\">in another post<\/a> on our blog.<\/li>\n<\/ul>\n<h3><a id=\"post-10494-_89wumkw8r981\"><\/a>Advanced Timers:<\/h3>\n<ul>\n<li><strong><em><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#JSR223_Timer\">JSR223<\/a> and <a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#BeanShell_Timer\">BeanShell Timers<\/a><\/em><\/strong> \u2192 these timers are unique in that they allow you to write a logical script to generate delays. Return values (expressed in milliseconds) from the <em>Script<\/em> section will govern how long JMeter will pause each time this element is executed.<\/li>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Synchronizing_Timer\"><strong><em>Synchronizing Timer<\/em><\/strong><\/a> \u2192 compared to the others the behavior of this timer is a little unusual in that it will block a specified number of threads up to a specified threshold, releasing those threads all at once. We go into <a href=\"https:\/\/www.redline13.com\/blog\/2018\/04\/jmeter-synctimer-load-testing-large-instant-loads\/\">more detail about the <em>Synchronizing Timer<\/em><\/a> in separate post.<\/li>\n<\/ul>\n<p>In addition to these built-in timers, there are a number of other more advanced timers that can be installed as <a href=\"https:\/\/jmeter-plugins.org\/wiki\/Start\/\">third-party plugins<\/a> to JMeter. For instance, one that is part of a very common plugin package is the <a href=\"https:\/\/jmeter-plugins.org\/wiki\/ThroughputShapingTimer\/\">Throughput Shaping Timer<\/a> , which is also <a href=\"https:\/\/www.redline13.com\/blog\/2018\/07\/throughput-shaping-timer\/\">discussed in this post<\/a> on our blog. This element allows for a visually-created request profile that the timer fills in over a specified duration of time. Other elements exist as installable plugins that are timers or feature a timer component.<\/p>\n<hr \/>\n<p>Did you know that RedLine13 offers a full-featured free trial? <a href=\"https:\/\/www.redline13.com\/Service\">Sign up now<\/a> and start testing today!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Some of the most versatile components in JMeter are timers. Without JMeter timers, elements of a JMeter test plan are executed sequentially without pausing. This can potentially overwhelm your target test application by generating too many requests in a short period of time. In this brief post, we will cover most of the available types of timers that can be used in JMeter test plans. You can find all available timer elements under the \u201cTimers\u201d submenu<a class=\"more-link\" href=\"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/\">Read More &rarr;<\/a><\/p>\n","protected":false},"author":11,"featured_media":10495,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,7],"tags":[100,283,299,301,318,512,616],"class_list":{"0":"entry","1":"post","2":"publish","3":"author-dkoziel","4":"post-10494","6":"format-standard","7":"has-post-thumbnail","8":"category-blog","9":"category-jmeter","10":"post_tag-beanshell","11":"post_tag-jmeter","12":"post_tag-jmeter-plugins","13":"post_tag-jsr223","14":"post_tag-load-testing","15":"post_tag-throughput","16":"post_tag-timers"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.12 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>JMeter Timers Primer - RedLine13<\/title>\n<meta name=\"description\" content=\"In this brief post, we will cover most of the available types of JMeter timers that can be used in JMeter test plans.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JMeter Timers Primer - RedLine13\" \/>\n<meta property=\"og:description\" content=\"In this brief post, we will cover most of the available types of JMeter timers that can be used in JMeter test plans.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/\" \/>\n<meta property=\"og:site_name\" content=\"RedLine13\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-14T11:27:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-14T11:27:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10494-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David Koziel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Koziel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/\"},\"author\":{\"name\":\"David Koziel\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/51d282221e3230ab35f964f98ada9b20\"},\"headline\":\"JMeter Timers Primer\",\"datePublished\":\"2023-04-14T11:27:48+00:00\",\"dateModified\":\"2023-04-14T11:27:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/\"},\"wordCount\":520,\"publisher\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/#organization\"},\"keywords\":[\"Beanshell\",\"JMeter\",\"jmeter-plugins\",\"JSR223\",\"Load Testing\",\"Throughput\",\"Timers\"],\"articleSection\":[\"Blog\",\"JMeter\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/\",\"url\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/\",\"name\":\"JMeter Timers Primer - RedLine13\",\"isPartOf\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/#website\"},\"datePublished\":\"2023-04-14T11:27:48+00:00\",\"dateModified\":\"2023-04-14T11:27:49+00:00\",\"description\":\"In this brief post, we will cover most of the available types of JMeter timers that can be used in JMeter test plans.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.redline13.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JMeter Timers Primer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#website\",\"url\":\"https:\/\/www.redline13.com\/blog\/\",\"name\":\"RedLine13\",\"description\":\"(Almost) Free Load Testing in the Cloud\",\"publisher\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.redline13.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#organization\",\"name\":\"RedLine13\",\"url\":\"https:\/\/www.redline13.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2013\/06\/cropped-rl13-header-logo.jpg\",\"contentUrl\":\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2013\/06\/cropped-rl13-header-logo.jpg\",\"width\":300,\"height\":68,\"caption\":\"RedLine13\"},\"image\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/51d282221e3230ab35f964f98ada9b20\",\"name\":\"David Koziel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2babf644e0993fc86893c24d7525f1e3be114a8746c01249797f25587ae1697a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2babf644e0993fc86893c24d7525f1e3be114a8746c01249797f25587ae1697a?s=96&d=mm&r=g\",\"caption\":\"David Koziel\"},\"url\":\"https:\/\/www.redline13.com\/blog\/author\/dkoziel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JMeter Timers Primer - RedLine13","description":"In this brief post, we will cover most of the available types of JMeter timers that can be used in JMeter test plans.","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:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/","og_locale":"en_US","og_type":"article","og_title":"JMeter Timers Primer - RedLine13","og_description":"In this brief post, we will cover most of the available types of JMeter timers that can be used in JMeter test plans.","og_url":"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/","og_site_name":"RedLine13","article_published_time":"2023-04-14T11:27:48+00:00","article_modified_time":"2023-04-14T11:27:49+00:00","og_image":[{"width":400,"height":300,"url":"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10494-1.png","type":"image\/png"}],"author":"David Koziel","twitter_card":"summary_large_image","twitter_misc":{"Written by":"David Koziel","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/#article","isPartOf":{"@id":"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/"},"author":{"name":"David Koziel","@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/51d282221e3230ab35f964f98ada9b20"},"headline":"JMeter Timers Primer","datePublished":"2023-04-14T11:27:48+00:00","dateModified":"2023-04-14T11:27:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/"},"wordCount":520,"publisher":{"@id":"https:\/\/www.redline13.com\/blog\/#organization"},"keywords":["Beanshell","JMeter","jmeter-plugins","JSR223","Load Testing","Throughput","Timers"],"articleSection":["Blog","JMeter"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/","url":"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/","name":"JMeter Timers Primer - RedLine13","isPartOf":{"@id":"https:\/\/www.redline13.com\/blog\/#website"},"datePublished":"2023-04-14T11:27:48+00:00","dateModified":"2023-04-14T11:27:49+00:00","description":"In this brief post, we will cover most of the available types of JMeter timers that can be used in JMeter test plans.","breadcrumb":{"@id":"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.redline13.com\/blog\/2023\/04\/jmeter-timers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.redline13.com\/blog\/"},{"@type":"ListItem","position":2,"name":"JMeter Timers Primer"}]},{"@type":"WebSite","@id":"https:\/\/www.redline13.com\/blog\/#website","url":"https:\/\/www.redline13.com\/blog\/","name":"RedLine13","description":"(Almost) Free Load Testing in the Cloud","publisher":{"@id":"https:\/\/www.redline13.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.redline13.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.redline13.com\/blog\/#organization","name":"RedLine13","url":"https:\/\/www.redline13.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2013\/06\/cropped-rl13-header-logo.jpg","contentUrl":"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2013\/06\/cropped-rl13-header-logo.jpg","width":300,"height":68,"caption":"RedLine13"},"image":{"@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/51d282221e3230ab35f964f98ada9b20","name":"David Koziel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2babf644e0993fc86893c24d7525f1e3be114a8746c01249797f25587ae1697a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2babf644e0993fc86893c24d7525f1e3be114a8746c01249797f25587ae1697a?s=96&d=mm&r=g","caption":"David Koziel"},"url":"https:\/\/www.redline13.com\/blog\/author\/dkoziel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/posts\/10494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/comments?post=10494"}],"version-history":[{"count":7,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/posts\/10494\/revisions"}],"predecessor-version":[{"id":10504,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/posts\/10494\/revisions\/10504"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/media\/10495"}],"wp:attachment":[{"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/media?parent=10494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/categories?post=10494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/tags?post=10494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}