{"id":1405,"date":"2015-03-30T14:56:42","date_gmt":"2015-03-30T14:56:42","guid":{"rendered":"http:\/\/www.abstracta.us\/?p=1405"},"modified":"2025-05-05T21:21:47","modified_gmt":"2025-05-05T21:21:47","slug":"system-performance-problems","status":"publish","type":"post","link":"https:\/\/abstracta.us\/blog\/performance-testing\/system-performance-problems\/","title":{"rendered":"System Performance Problems"},"content":{"rendered":"<p><!-- Go to www.addthis.com\/dashboard to customize your tools --><script src=\"\/\/s7.addthis.com\/js\/300\/addthis_widget.js#pubid=ra-58d80a50fc4f926d\" type=\"text\/javascript\"><\/script><\/p>\n<h1><span style=\"font-weight: 400; color: #333333;\">How do we diagnose and fix system performance problems?<\/span><\/h1>\n<p><span style=\"font-weight: 400; color: #333333;\">While working with systems in production, it is common to encounter system performance problems that must be analyzed and solved. In general, those problems are complex, difficult to replicate issues that occur occasionally and may be circumstantial. When a few days go by without their occurrence, we even build our hopes up in the belief that those problems will not come up again.<\/span><\/p>\n<p>What should we do to attack these problems?<\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">We usually have two supplementary approaches: to attack the problem directly or to carry out proactive tasks.<\/span><br \/>\n<span style=\"font-weight: 400; color: #333333;\">In order to <strong>attack the problem directly<\/strong>, we must observe a method where the various actors (engineers, development, DBA, the individual in charge of the operating system, the individual in charge of communications, the individual in charge of web server, etc.) work together towards obtaining the information necessary to solve the problem.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">One of the first things to deal with is ignoring the user\u2019s <em>subjectivity<\/em> and work\u00a0with accurate response times.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">To this end, we may <strong>look\u00a0at logs<\/strong> in the system, logs in the application, etc. If we lack all this, we can set a virtual user (an automated script) to execute a specific test case and then record the time used throughout, for example, a whole day. The purpose here is to define the hours of the day\u00a0when the <strong>system slows down<\/strong>, and see how slow it becomes. A basic set of indicators for monitoring are then defined for each component in the system. Such monitoring<strong> must not intrude<\/strong>, so as to avoid worse times.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">Once the information on\u00a0times and indicators is available, we should start the analysis tasks, whose purpose is to guide us in order to detect the component that represents the <strong>bottleneck<\/strong>.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">Otherwise, the more <strong>proactive<\/strong>\u00a0approach would be to develop a performance project in advance, where we can <strong>simulate a specific load in an automated manner<\/strong>, and then carry out the system analysis in a similar way to what was described above. The advantage in this approach is that testing environment allows us more freedom to make more significant changes to the system in a consistent and repeatable manner. And we also have the possibility of simulating more load than the actual load (for instance, if\u00a0additional users are going to be added to the system).<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">An important proactive action is to measure time when we execute functional tests, in addition to having some performance indicators (memory, CPU use, etc.), so that the functional testing process may show some of the &#8220;non-functional&#8221; problems.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">These are very challenging projects, which constitute the type of project that the Abstracta team enjoys the most!<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ready_to_test_your_system_Contact_us\"><\/span>Ready to test your system?\u00a0<a href=\"http:\/\/abstracta.us\/contact-us\">Contact us!<\/a><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&nbsp;<\/p>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"Recommended_for_You\"><\/span><strong>Recommended for You<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"http:\/\/abstracta.us\/blog\/performance-testing\/types-of-performance-tests\/\">Types of Performance Tests<\/a><br \/>\n<a href=\"http:\/\/abstracta.us\/blog\/performance-testing\/designing-performance-tests-with-a-little-bit-of-futurology\/\">Designing Performance Tests with a Little Bit of Futurology<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>How do we diagnose and fix system performance problems? While working with systems in production, it is common to encounter system performance problems that must be analyzed and solved. In general, those problems are complex, difficult to replicate issues that occur occasionally and may be&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v14.0.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>System Performance Problems | Abstracta<\/title>\n<meta name=\"description\" content=\"In production, it is common to encounter system performance problems that must be analyzed and solved. Here are some ways we try to solve them.\" \/>\n<meta name=\"robots\" content=\"index, follow\" \/>\n<meta name=\"googlebot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta name=\"bingbot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/abstracta.us\/blog\/performance-testing\/system-performance-problems\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"System Performance Problems | Abstracta\" \/>\n<meta property=\"og:description\" content=\"In production, it is common to encounter system performance problems that must be analyzed and solved. Here are some ways we try to solve them.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/abstracta.us\/blog\/performance-testing\/system-performance-problems\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog about AI-powered quality engineering for teams building complex software | Abstracta\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AbstractaQA\/\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-30T14:56:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-05T21:21:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/abstracta.us\/wp-content\/uploads\/2015\/09\/performance_testing-min.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"420\" \/>\n\t<meta property=\"og:image:height\" content=\"236\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AbstractaUS\" \/>\n<meta name=\"twitter:site\" content=\"@AbstractaUS\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/abstracta.us\/blog\/#website\",\"url\":\"https:\/\/abstracta.us\/blog\/\",\"name\":\"Blog about AI-powered quality engineering for teams building complex software | Abstracta\",\"description\":\"AI-powered quality engineering\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/abstracta.us\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/performance-testing\/system-performance-problems\/#webpage\",\"url\":\"https:\/\/abstracta.us\/blog\/performance-testing\/system-performance-problems\/\",\"name\":\"System Performance Problems | Abstracta\",\"isPartOf\":{\"@id\":\"https:\/\/abstracta.us\/blog\/#website\"},\"datePublished\":\"2015-03-30T14:56:42+00:00\",\"dateModified\":\"2025-05-05T21:21:47+00:00\",\"author\":{\"@id\":\"https:\/\/abstracta.us\/blog\/#\/schema\/person\/78cd0dcae50ce820b25e86d3330e9762\"},\"description\":\"In production, it is common to encounter system performance problems that must be analyzed and solved. Here are some ways we try to solve them.\",\"breadcrumb\":{\"@id\":\"https:\/\/abstracta.us\/blog\/performance-testing\/system-performance-problems\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/abstracta.us\/blog\/performance-testing\/system-performance-problems\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/abstracta.us\/blog\/performance-testing\/system-performance-problems\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/\",\"url\":\"https:\/\/abstracta.us\/blog\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/performance-testing\/\",\"url\":\"https:\/\/abstracta.us\/blog\/performance-testing\/\",\"name\":\"Performance Testing\"}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/performance-testing\/system-performance-problems\/\",\"url\":\"https:\/\/abstracta.us\/blog\/performance-testing\/system-performance-problems\/\",\"name\":\"System Performance Problems\"}}]},{\"@type\":[\"Person\"],\"@id\":\"https:\/\/abstracta.us\/blog\/#\/schema\/person\/78cd0dcae50ce820b25e86d3330e9762\",\"name\":\"Sof\\u00eda Palamarchuk, Co-CEO at Abstracta\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/abstracta.us\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/222e8b1136482564fe25acc4de2b9b7a?s=96&d=blank&r=g\",\"caption\":\"Sof\\u00eda Palamarchuk, Co-CEO at Abstracta\"},\"description\":\"Co-Chief Executive Officer at Abstracta\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/1405"}],"collection":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/comments?post=1405"}],"version-history":[{"count":11,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/1405\/revisions"}],"predecessor-version":[{"id":10727,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/1405\/revisions\/10727"}],"wp:attachment":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/media?parent=1405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/categories?post=1405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/tags?post=1405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}