{"id":15199,"date":"2013-07-05T10:00:15","date_gmt":"2013-07-05T07:00:15","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/?p=15199"},"modified":"2013-07-05T08:40:34","modified_gmt":"2013-07-05T05:40:34","slug":"apache-server-and-jmeter-debugging","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html","title":{"rendered":"Apache Server and JMeter debugging"},"content":{"rendered":"<p>I had been using JMeter to generate load for my production server to test my application. The test-plan has 13+ HTTP sampler to make different request and one Regular Expression extractor to extract some value from the response. This value was used in consecutive HTTP Sampler. This test case simple and straight forward. Initially I used 200 JMeter threads to simulate 200 users. Server was able to handle these many requests easily but when the number of thread was increased, it couldn\u2019t handled and waited infinitely. Surely something was going on. JMeter threads were waiting for the connection and couldn\u2019t get it so waited infinitely. To avoid this situation, I introduced \u201cHTTP Request default\u201d to add some connection and response timeout. One problem was solved, now threads are not hanging there infinitely but they were timing out with the following exception.<\/p>\n<pre class=\" brush:java\">java.net.SocketTimeoutException: Read timed out\r\n\tat java.net.SocketInputStream.socketRead0(Native Method)\r\n\tat java.net.SocketInputStream.read(SocketInputStream.java:129)\r\n\tat java.io.BufferedInputStream.fill(BufferedInputStream.java:218)\r\n\tat java.io.BufferedInputStream.read(BufferedInputStream.java:237)\r\n\tat org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)\r\n\tat org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)\r\n\tat org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)\r\n\tat org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)\r\n\tat org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)\r\n\tat org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)\r\n\tat org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)\r\n\tat org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)\r\n\tat org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)\r\n\tat org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)\r\n\tat org.apache.jmeter.protocol.http.sampler.HTTPHC3Impl.sample(HTTPHC3Impl.java:258)\r\n\tat org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62)\r\n\tat org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1088)\r\n\tat org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1077)\r\n\tat org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:428)\r\n\tat org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)\r\n\tat java.lang.Thread.run(Thread.java:662)<\/pre>\n<p>Definitely some-part of server (Apache 2.2.14 + Apache-tomcat-7.0.11) was creaking but not sure which part. Surely there was some bottleneck in the setup. In the current setup Apache server was forwarding requests to Tomcat engine. So surely either one of them were not able to handle 200+ request at a time. I changed the setup a little bit to forward all request directly to Tomcat engine. It was able to handle it, that means Apache was slacking. I quickly checked the Apache error.log file present at <code>\/var\/log\/apache2\/error.log<\/code> and found the following lines.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<pre class=\" brush:bash\">[Wed Jun 26 16:46:19 2013] [error] server is within MinSpareThreads of MaxClients, consider raising the MaxClients setting\r\n[Wed Jun 26 16:46:20 2013] [error] server reached MaxClients setting, consider raising the MaxClients setting\r\n[Wed Jun 26 17:24:42 2013] [error] server is within MinSpareThreads of MaxClients, consider raising the MaxClients setting\r\n[Wed Jun 26 17:24:43 2013] [error] server reached MaxClients setting, consider raising the MaxClients setting<\/pre>\n<p>This clearly indicated that the MaxClients number should be increase which will in-turn increase the number of Apache thread. I quickly edited the apache2.conf file to increase the MaxClients number by putting the following configuration and executed <code>\"apache2ctl -t\"<\/code> to confirm that the changes made in configuration files were correct.<\/p>\n<pre class=\" brush:xml\">&lt;IfModule mpm_worker_module&gt;\r\n    StartServers          2\r\n    MinSpareThreads      25  \r\n    MaxSpareThreads     100 \r\n    ThreadLimit         800\r\n    ThreadsPerChild     800 \r\n    MaxClients         2400\r\n    MaxRequestsPerChild   0   \r\n&lt;\/IfModule&gt;<\/pre>\n<p>I was bit relaxed thinking that now Apache will definitely handle the load now. But out of my surprise, it couldn\u2019t and again the same exception hit the JMeter again. At this point I wanted to check the Apache performance by enabling the server-status. This feature can give you clear idea about the connection states. I put the following lines in the <code>\/etc\/apache2\/mods-available\/status.conf<\/code><\/p>\n<pre class=\" brush:xml\">&lt;Location \/server-status&gt;\r\n    SetHandler server-status\r\n    Order deny,allow\r\n    Deny from all\r\n    Allow from  .your.domain.here.com localhost\r\n&lt;\/Location&gt;<\/pre>\n<p>I restarted Apache and server by executing the following command<\/p>\n<pre class=\" brush:bash\">\/&gt; sudo service apache2 restart; sudo service tomcat restart;<\/pre>\n<p>Once the Apache restarted I hit the following URL to get the server-status.<\/p>\n<pre class=\" brush:xml\">http:\/\/your.server.name\/server-status?refresh=3<\/pre>\n<p>After running the JMeter for 200+ threads I noticed this on the status page.<\/p>\n<p><figure style=\"width: 600px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/07\/apache-server-status.png\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2013\/07\/apache-server-status.png\" width=\"600\" height=\"450\" \/><\/a><figcaption class=\"wp-caption-text\">Apache server status<\/figcaption><\/figure><\/p>\n<p>The status page indicated that there were lots of connection in <code>\"W\"<\/code> (Sending Reply) state. This is can be caused by other reasons. I tried to google it but couldn\u2019t find any definite solution. But one thing was sure that the Apache is not causing problem. It must be between Apache and tomcat. I realized that JMeter test plan works fine for 200 threads and even Tomcat by default has 200 threads. I just took a chance and increased the number of threads to 400 by editing <code>\"&lt;APACHE_TOMCAT_HOME&gt;\/conf\/server.xml\"<\/code> file.<\/p>\n<pre class=\" brush:xml\">&lt;!-- Define an AJP 1.3 Connector on port 8009 --&gt;\r\n&lt;Connector port=\"8009\" protocol=\"AJP\/1.3\" redirectPort=\"8443\" maxThreads=\"400\" minSpareThreads=\"20\" \/&gt;<\/pre>\n<p>Now Server can handle the JMeter load easily and Apache connections are in good state even after finishing the test-plan.<br \/>\nAlthough problem was fixed, I couldn\u2019t understand why Tomcat was able to handle the load when JMeter was configured to send all requests directly to Tomcat but couldn\u2019t handle the load when Apache was forwarding the request to Tomcat. If you have any explanation about this behavior please share below in comment section.<br \/>\n&nbsp;<\/p>\n<div style=\"border: 1px solid #D8D8D8; background: #FAFAFA; width: 100%; padding-left: 5px;\"><b><i>Reference: <\/i><\/b><a href=\"http:\/\/code4reference.com\/2013\/07\/apache-debugging\/\">Apache Server and JMeter debugging<\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/jcg\">JCG partner<\/a> Rakesh Cusat at the <a href=\"http:\/\/code4reference.com\/\">Code4Reference<\/a> blog.<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I had been using JMeter to generate load for my production server to test my application. The test-plan has 13+ HTTP sampler to make different request and one Regular Expression extractor to extract some value from the response. This value was used in consecutive HTTP Sampler. This test case simple and straight forward. Initially I &hellip;<\/p>\n","protected":false},"author":274,"featured_media":68,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[430],"class_list":["post-15199","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-apache-jmeter"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Apache Server and JMeter debugging<\/title>\n<meta name=\"description\" content=\"I had been using JMeter to generate load for my production server to test my application. The test-plan has 13+ HTTP sampler to make different request and\" \/>\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.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Server and JMeter debugging\" \/>\n<meta property=\"og:description\" content=\"I had been using JMeter to generate load for my production server to test my application. The test-plan has 13+ HTTP sampler to make different request and\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2013-07-05T07:00:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-jmeter-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Rakesh Cusat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rakesh Cusat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html\"},\"author\":{\"name\":\"Rakesh Cusat\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/913ac3950434ad48c2c2b98e23d86a49\"},\"headline\":\"Apache Server and JMeter debugging\",\"datePublished\":\"2013-07-05T07:00:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html\"},\"wordCount\":569,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-jmeter-logo.jpg\",\"keywords\":[\"Apache JMeter\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html\",\"name\":\"Apache Server and JMeter debugging\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-jmeter-logo.jpg\",\"datePublished\":\"2013-07-05T07:00:15+00:00\",\"description\":\"I had been using JMeter to generate load for my production server to test my application. The test-plan has 13+ HTTP sampler to make different request and\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-jmeter-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-jmeter-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/07\\\/apache-server-and-jmeter-debugging.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Apache Server and JMeter debugging\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/913ac3950434ad48c2c2b98e23d86a49\",\"name\":\"Rakesh Cusat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/232ae7fa9c21c4a55e50bb934653939d45522ec03f0c2045ae3bb139faa275bb?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/232ae7fa9c21c4a55e50bb934653939d45522ec03f0c2045ae3bb139faa275bb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/232ae7fa9c21c4a55e50bb934653939d45522ec03f0c2045ae3bb139faa275bb?s=96&d=mm&r=g\",\"caption\":\"Rakesh Cusat\"},\"sameAs\":[\"http:\\\/\\\/code4reference.com\\\/\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/Rakesh-Cusat\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apache Server and JMeter debugging","description":"I had been using JMeter to generate load for my production server to test my application. The test-plan has 13+ HTTP sampler to make different request and","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.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html","og_locale":"en_US","og_type":"article","og_title":"Apache Server and JMeter debugging","og_description":"I had been using JMeter to generate load for my production server to test my application. The test-plan has 13+ HTTP sampler to make different request and","og_url":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2013-07-05T07:00:15+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-jmeter-logo.jpg","type":"image\/jpeg"}],"author":"Rakesh Cusat","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Rakesh Cusat","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html"},"author":{"name":"Rakesh Cusat","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/913ac3950434ad48c2c2b98e23d86a49"},"headline":"Apache Server and JMeter debugging","datePublished":"2013-07-05T07:00:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html"},"wordCount":569,"commentCount":2,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-jmeter-logo.jpg","keywords":["Apache JMeter"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html","url":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html","name":"Apache Server and JMeter debugging","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-jmeter-logo.jpg","datePublished":"2013-07-05T07:00:15+00:00","description":"I had been using JMeter to generate load for my production server to test my application. The test-plan has 13+ HTTP sampler to make different request and","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-jmeter-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-jmeter-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2013\/07\/apache-server-and-jmeter-debugging.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Apache Server and JMeter debugging"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/913ac3950434ad48c2c2b98e23d86a49","name":"Rakesh Cusat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/232ae7fa9c21c4a55e50bb934653939d45522ec03f0c2045ae3bb139faa275bb?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/232ae7fa9c21c4a55e50bb934653939d45522ec03f0c2045ae3bb139faa275bb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232ae7fa9c21c4a55e50bb934653939d45522ec03f0c2045ae3bb139faa275bb?s=96&d=mm&r=g","caption":"Rakesh Cusat"},"sameAs":["http:\/\/code4reference.com\/"],"url":"https:\/\/www.javacodegeeks.com\/author\/Rakesh-Cusat"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/15199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/274"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=15199"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/15199\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/68"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=15199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=15199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=15199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}