{"id":14489,"date":"2017-12-06T08:02:16","date_gmt":"2017-12-06T08:02:16","guid":{"rendered":"https:\/\/stackify.com\/?p=14489"},"modified":"2024-05-15T06:24:00","modified_gmt":"2024-05-15T06:24:00","slug":"web-performance-optimization","status":"publish","type":"post","link":"https:\/\/stackify.com\/web-performance-optimization\/","title":{"rendered":"Web Performance Optimization: Top 3 Server and Client-Side Performance Tips"},"content":{"rendered":"<p>We live in a world where nobody is willing to wait for anything. We have become accustomed to websites and mobile apps working instantly. If I click on a search result from Google and it doesn\u2019t load within a couple seconds, I will no doubt just click on a different result. We have all been trained to expect websites to load blazingly fast.<\/p>\n<p><strong>We all know that the performance of our software is important!<\/strong><\/p>\n<p>We also know that <a href=\"https:\/\/stackify.com\/how-to-optimize-server-performance\/\">performance optimization<\/a> can be very time consuming and potentially expensive. We also know that <a href=\"https:\/\/stackify.com\/premature-optimization-evil\/\">premature optimization<\/a> is a bad thing.<\/p>\n<p>Web performance optimization is a never-ending job. In this article we will review some of the top server and client-side performance issues and how to resolve them.<\/p>\n<blockquote><p>Also Read-<a href=\"https:\/\/stackify.com\/top-10-must-have-vs-code-extensions-for-javascript-developers\/\">https:\/\/stackify.com\/top-10-must-have-vs-code-extensions-for-javascript-developers\/<\/a><\/p><\/blockquote>\n<h2><a id=\"post-14489-_zgnrnen33apg\"><\/a>What is web performance optimization?<\/h2>\n<p>Web performance optimization occurs by monitoring and analyzing the performance of your web application and identifying ways to improve it.<\/p>\n<p>Web applications are a mixture of server-side and client-side code. Your application can have performance problems on either side and both need to be optimized.<\/p>\n<p>The client side relates to performance as seen within the web browser. This includes initial page load time, downloading all of the resources, JavaScript that runs in the browser, and more.<\/p>\n<p>The server side relates to how long it takes to run on the server to execute requests. Optimizing the performance on the server generally revolves around optimizing things like database queries and other application dependencies.<\/p>\n<p>Let\u2019s take a deeper look at how to optimize performance for both the client and server sides.<\/p>\n<h3><a id=\"post-14489-_2lz3jf5rl75p\"><\/a>Optimizing client performance<\/h3>\n<p>Client performance typically revolves around reducing the overall size of web pages. This includes the size of the files and perhaps more importantly, the number of them.<\/p>\n<p>It is common these days for a single web page to load 100+ files. You can quickly see this via your web browser with the dev tools. For Google Chrome, hit F12 (on Windows), go to the Network tab and then reload a page on your site.<\/p>\n<p>For example, here is what it looks like for the home page of <a href=\"http:\/\/www.cnn.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">CNN<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14491 size-large\" title=\"CNN homepage\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/11\/word-image-11-1024x732.png\" alt=\"CNN screenshot to show page load time\" width=\"1024\" height=\"732\" \/><\/p>\n<p>As you can see, it took 11.04 seconds to download 188 files to load the page. Yikes!<\/p>\n<p>This gives you a basic understanding of how long it takes and how many files are being downloaded. Your goal is to optimize both of these.<\/p>\n<p>Here are some of the top strategies to optimize performance on the client side<\/p>\n<h4><a id=\"post-14489-_k0wk9ja8u1mr\"><\/a>1. Caching &amp; content delivery networks<\/h4>\n<p>One of the smartest things you can do is leverage a content delivery network (CDN). Many of the files on your website, like JavaScript, CSS, and image files, are static and do not change.<\/p>\n<p>You can increase the performance of your website by caching these files on servers closer to where your users are. This offloads the traffic from your servers and makes your site load faster.<\/p>\n<p>I highly recommend <a href=\"https:\/\/www.cloudflare.com\/\">Cloudflare<\/a> for this. It is extremely simple to setup and just works.<\/p>\n<h4><a id=\"post-14489-_dexwbsai6mav\"><\/a>2. Bundle &amp; minification<\/h4>\n<p>One of the most important things you want you to do is bundle your files together so there are fewer files. You can also optimize their contents to shrink the file size down through various <a href=\"https:\/\/en.wikipedia.org\/wiki\/Minification_(programming)\" target=\"_blank\" rel=\"noopener noreferrer\">minification<\/a> techniques.<\/p>\n<p>Unfortunately, bundling and minification typically require code changes to accomplish.<\/p>\n<p>The Cloudflare content delivery network offers a feature called <a href=\"https:\/\/support.cloudflare.com\/hc\/en-us\/articles\/200168056-What-does-Rocket-Loader-do-\" target=\"_blank\" rel=\"noopener noreferrer\">Rocket Loader<\/a> that can automatically combine your JavaScript for you. I have also used a WordPress plugin called <a href=\"https:\/\/fastvelocity.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Fast Velocity<\/a> that is also pretty awesome.<\/p>\n<blockquote><p>Also Read-<a href=\"https:\/\/stackify.com\/is-elasticsearch-the-ultimate-scalable-search-engine\/\">https:\/\/stackify.com\/is-elasticsearch-the-ultimate-scalable-search-engine\/<\/a><\/p><\/blockquote>\n<h4><a id=\"post-14489-_hhv6zze20woj\"><\/a>3. Optimizing image usage<\/h4>\n<p>I struggle with this problem a lot. My computer has a 4K monitor so I am always taking pretty large screenshots and inserting them into blog posts. This causes the image files to be large. Also, having multiple screenshots on a page can really slow it down.<\/p>\n<p>Most images can be optimized and made smaller. There are tools for jpeg and png files to help shrink the files. If you are using WordPress, there are plugins that can automatically do it.<\/p>\n<p>If you have a lot of small icons on your pages, you should consider switching to an icon font like Font Awesome or using <a href=\"https:\/\/www.w3schools.com\/css\/css_image_sprites.asp\" target=\"_blank\" rel=\"noopener noreferrer\">image sprites<\/a>.<\/p>\n<p>Lastly, if you have pages that are long with a lot of images, you may want to consider lazy loading your images. This means that on page load, you only load the images that you can see on the screen. As your user scrolls down, you setup your site to load additional images.<\/p>\n<h3><a id=\"post-14489-_okspdu53a836\"><\/a>Optimizing server performance<\/h3>\n<p>No matter which programming language you are using, there are several common issues that cause performance problems.<\/p>\n<p>Web performance optimization isn\u2019t just about optimizing the client. Many performance problems are due to slow SQL queries, hidden errors, and other issues.<\/p>\n<h4><a id=\"post-14489-_54bac7ox15rn\"><\/a>1. Optimize usage of application dependencies<\/h4>\n<p>Most software applications use SQL databases, caching, external web services, and other application dependencies. These are things like SQL Server, Oracle, Redis, MongoDB, Elasticsearch and external HTTP web services.<\/p>\n<p>The best way to evaluate how your code is using application dependencies and how they perform is by code profiling. Products like <a href=\"https:\/\/stackify.com\/retrace\/\">Retrace<\/a> are safe to use on your servers and can instantly show you which dependencies are being used and how long they take.<\/p>\n<p>Below is an example of a typical web application with pretty consistent traffic and performance.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14492 size-large\" title=\"Optimize usage of application dependencies\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/11\/word-image-12-1024x241.png\" alt=\"an example of a typical web application with pretty consistent traffic and performance.\" width=\"1024\" height=\"241\" \/><\/p>\n<p>In this example below you can quickly identify that Redis is causing big performance spikes.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14493\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/11\/word-image-13.png\" alt=\"In this example below you can quickly identify that Redis is causing big performance spikes.\" width=\"1581\" height=\"298\" \/><\/p>\n<p>One of the common problems is identifying slow SQL queries and figuring out how to improve their performance. Another common issue is identifying SQL queries that are being called too often.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14494 size-large\" title=\"Identify slow SQL queries\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/11\/word-image-14-1024x350.png\" alt=\" identifying slow SQL queries and figuring out how to improve their performance\" width=\"1024\" height=\"350\" \/><\/p>\n<h4><a id=\"post-14489-_aj7bh8jvqqe7\"><\/a>2. Identify top application errors<\/h4>\n<p>Your application is probably throwing all sorts of exceptions that you don\u2019t even know about. Exceptions are one of the best ways to identify bugs and even performance problems in your code.<\/p>\n<p>Retrace can collect and provide excellent reporting about all the exceptions that are being thrown within your code.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14495 size-large\" title=\"Identify top application errors\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/11\/word-image-15-1024x378.png\" alt=\"Retrace can collect and provide excellent reporting about all the exceptions that are being thrown within your code.\" width=\"1024\" height=\"378\" \/><\/p>\n<p>Exceptions themselves cause a lot of performance overhead. An application that throws thousands of exceptions a minute will consume a lot more CPU than it should.<\/p>\n<p>This is a common problem in code that does a lot of data parsing in \u201ctry catch\u201d blocks and just ignores any exceptions being thrown.<\/p>\n<p>Learn more: <a href=\"https:\/\/stackify.com\/finding-hidden-exceptions-application-performance-problems-apm\/\" target=\"_blank\" rel=\"noopener noreferrer\">How GWB Found Hidden Exceptions and Application Performance Problems<\/a><\/p>\n<p>[adinserter block=&#8221;33&#8243;]<\/p>\n<h4><a id=\"post-14489-_ezyn2s728gq\"><\/a>3. Optimize your most-used web pages<\/h4>\n<p>If you don\u2019t know which pages on your site are used the most and which ones are the slowest, you definitely should.<\/p>\n<p>You could try and do this by parsing the logs from your web server. This is a nightmare if your web application uses REST URLs because most of the URLs will be unique.<\/p>\n<p>An easier way is using an <a href=\"https:\/\/stackify.com\/what-is-apm\/\" target=\"_blank\" rel=\"noopener noreferrer\">application performance management<\/a> solution like Retrace.<\/p>\n<p>Your goal is to identify which requests are being used the most and which ones are taking up the most amount of time on your server. This helps you prioritize where to do performance tuning.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14496 size-large\" title=\"Optimize your most-used web pages\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/11\/word-image-16-1024x398.png\" alt=\"You goal is to identify which requests are being used the most and which ones are taking up the most amount of time on your server.\" width=\"1024\" height=\"398\" \/><\/p>\n<p>With Retrace, you can also view code-level performance to understand exactly what it is doing.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14497 size-large\" title=\"code-level performance view in Retrace\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/11\/word-image-17-1024x459.png\" alt=\"With Retrace, you can also view code-level performance to understand exactly what it is doing.\" width=\"1024\" height=\"459\" \/><\/p>\n<h3><a id=\"post-14489-_oz26ol632y5e\"><\/a>Summary<\/h3>\n<p>Web performance optimization is a job that is never done. As you continue to make changes to your software and roll out new features, its usage and performance will continue to change.<\/p>\n<p>I recommend reviewing your application performance monitoring tools like <a href=\"https:\/\/stackify.com\/retrace\/\" target=\"_blank\" rel=\"noopener noreferrer\">Retrace<\/a> on a weekly basis, looking for things that could use some improvement. You can then prioritize these work items as part of your next sprint.<\/p>\n<p>Also be sure to check out some of our other guides about application performance.<\/p>\n<ul>\n<li><a href=\"https:\/\/stackify.com\/what-is-apm\/\" target=\"_blank\" rel=\"noopener noreferrer\">What is Application Performance Management? Overview, Common Terms, and 10 Critical APM Features<\/a><\/li>\n<li><a href=\"https:\/\/stackify.com\/asp-net-performance-monitoring-developers-guide\/\" target=\"_blank\" rel=\"noopener noreferrer\">ASP.NET Performance Monitoring: A Developer\u2019s How to Guide<\/a><\/li>\n<li><a href=\"https:\/\/stackify.com\/tomcat-performance-monitoring\/\" target=\"_blank\" rel=\"noopener noreferrer\">A Step By Step Guide to Tomcat Performance Monitoring<\/a><\/li>\n<li><a href=\"https:\/\/stackify.com\/cloud-monitoring\/\" target=\"_blank\" rel=\"noopener noreferrer\">What is Cloud Monitoring? How to Make Sure Cloud Services are Working Properly<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>We live in a world where nobody is willing to wait for anything. We have become accustomed to websites and mobile apps working instantly. If I click on a search result from Google and it doesn\u2019t load within a couple seconds, I will no doubt just click on a different result. We have all been [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":38031,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7],"tags":[28,108,52],"class_list":["post-14489","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developers","tag-apm","tag-application-performance","tag-developer-tips"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v25.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Web Performance Optimization: Top 3 Performance Tips<\/title>\n<meta name=\"description\" content=\"Web performance optimization is a never-ending job. Understand top server and client-side performance issues and how to resolve them.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/stackify.com\/web-performance-optimization\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Web Performance Optimization: Top 3 Performance Tips\" \/>\n<meta property=\"og:description\" content=\"Web performance optimization is a never-ending job. Understand top server and client-side performance issues and how to resolve them.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/stackify.com\/web-performance-optimization\/\" \/>\n<meta property=\"og:site_name\" content=\"Stackify\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Stackify\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-06T08:02:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-15T06:24:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/12\/Web-Performance-Optimization-1-881x441-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"881\" \/>\n\t<meta property=\"og:image:height\" content=\"441\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matt Watson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@stackify\" \/>\n<meta name=\"twitter:site\" content=\"@stackify\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matt Watson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/stackify.com\/web-performance-optimization\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/stackify.com\/web-performance-optimization\/\"},\"author\":{\"name\":\"Matt Watson\",\"@id\":\"https:\/\/stackify.com\/#\/schema\/person\/d02850a3ac13c2579469b3d0df48a845\"},\"headline\":\"Web Performance Optimization: Top 3 Server and Client-Side Performance Tips\",\"datePublished\":\"2017-12-06T08:02:16+00:00\",\"dateModified\":\"2024-05-15T06:24:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/stackify.com\/web-performance-optimization\/\"},\"wordCount\":1311,\"publisher\":{\"@id\":\"https:\/\/stackify.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/stackify.com\/web-performance-optimization\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/12\/Web-Performance-Optimization-1-881x441-1.jpg\",\"keywords\":[\"apm\",\"application performance\",\"developer tips\"],\"articleSection\":[\"Developer Tips, Tricks &amp; Resources\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/stackify.com\/web-performance-optimization\/\",\"url\":\"https:\/\/stackify.com\/web-performance-optimization\/\",\"name\":\"Web Performance Optimization: Top 3 Performance Tips\",\"isPartOf\":{\"@id\":\"https:\/\/stackify.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/stackify.com\/web-performance-optimization\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/stackify.com\/web-performance-optimization\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/12\/Web-Performance-Optimization-1-881x441-1.jpg\",\"datePublished\":\"2017-12-06T08:02:16+00:00\",\"dateModified\":\"2024-05-15T06:24:00+00:00\",\"description\":\"Web performance optimization is a never-ending job. Understand top server and client-side performance issues and how to resolve them.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/stackify.com\/web-performance-optimization\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stackify.com\/web-performance-optimization\/#primaryimage\",\"url\":\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/12\/Web-Performance-Optimization-1-881x441-1.jpg\",\"contentUrl\":\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/12\/Web-Performance-Optimization-1-881x441-1.jpg\",\"width\":881,\"height\":441},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/stackify.com\/#website\",\"url\":\"https:\/\/stackify.com\/\",\"name\":\"Stackify\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/stackify.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/stackify.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/stackify.com\/#organization\",\"name\":\"Stackify\",\"url\":\"https:\/\/stackify.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stackify.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/stackify.com\/wp-content\/uploads\/2024\/05\/logo-1.png\",\"contentUrl\":\"https:\/\/stackify.com\/wp-content\/uploads\/2024\/05\/logo-1.png\",\"width\":1377,\"height\":430,\"caption\":\"Stackify\"},\"image\":{\"@id\":\"https:\/\/stackify.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Stackify\/\",\"https:\/\/x.com\/stackify\",\"https:\/\/www.instagram.com\/stackify\/\",\"https:\/\/www.linkedin.com\/company\/2596184\",\"https:\/\/www.youtube.com\/stackify\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/stackify.com\/#\/schema\/person\/d02850a3ac13c2579469b3d0df48a845\",\"name\":\"Matt Watson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stackify.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/51c331d566bab0683ebf28ba58bdc860?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/51c331d566bab0683ebf28ba58bdc860?s=96&d=mm&r=g\",\"caption\":\"Matt Watson\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Web Performance Optimization: Top 3 Performance Tips","description":"Web performance optimization is a never-ending job. Understand top server and client-side performance issues and how to resolve them.","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:\/\/stackify.com\/web-performance-optimization\/","og_locale":"en_US","og_type":"article","og_title":"Web Performance Optimization: Top 3 Performance Tips","og_description":"Web performance optimization is a never-ending job. Understand top server and client-side performance issues and how to resolve them.","og_url":"https:\/\/stackify.com\/web-performance-optimization\/","og_site_name":"Stackify","article_publisher":"https:\/\/www.facebook.com\/Stackify\/","article_published_time":"2017-12-06T08:02:16+00:00","article_modified_time":"2024-05-15T06:24:00+00:00","og_image":[{"width":881,"height":441,"url":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/12\/Web-Performance-Optimization-1-881x441-1.jpg","type":"image\/jpeg"}],"author":"Matt Watson","twitter_card":"summary_large_image","twitter_creator":"@stackify","twitter_site":"@stackify","twitter_misc":{"Written by":"Matt Watson","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/stackify.com\/web-performance-optimization\/#article","isPartOf":{"@id":"https:\/\/stackify.com\/web-performance-optimization\/"},"author":{"name":"Matt Watson","@id":"https:\/\/stackify.com\/#\/schema\/person\/d02850a3ac13c2579469b3d0df48a845"},"headline":"Web Performance Optimization: Top 3 Server and Client-Side Performance Tips","datePublished":"2017-12-06T08:02:16+00:00","dateModified":"2024-05-15T06:24:00+00:00","mainEntityOfPage":{"@id":"https:\/\/stackify.com\/web-performance-optimization\/"},"wordCount":1311,"publisher":{"@id":"https:\/\/stackify.com\/#organization"},"image":{"@id":"https:\/\/stackify.com\/web-performance-optimization\/#primaryimage"},"thumbnailUrl":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/12\/Web-Performance-Optimization-1-881x441-1.jpg","keywords":["apm","application performance","developer tips"],"articleSection":["Developer Tips, Tricks &amp; Resources"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/stackify.com\/web-performance-optimization\/","url":"https:\/\/stackify.com\/web-performance-optimization\/","name":"Web Performance Optimization: Top 3 Performance Tips","isPartOf":{"@id":"https:\/\/stackify.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/stackify.com\/web-performance-optimization\/#primaryimage"},"image":{"@id":"https:\/\/stackify.com\/web-performance-optimization\/#primaryimage"},"thumbnailUrl":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/12\/Web-Performance-Optimization-1-881x441-1.jpg","datePublished":"2017-12-06T08:02:16+00:00","dateModified":"2024-05-15T06:24:00+00:00","description":"Web performance optimization is a never-ending job. Understand top server and client-side performance issues and how to resolve them.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/stackify.com\/web-performance-optimization\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stackify.com\/web-performance-optimization\/#primaryimage","url":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/12\/Web-Performance-Optimization-1-881x441-1.jpg","contentUrl":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/12\/Web-Performance-Optimization-1-881x441-1.jpg","width":881,"height":441},{"@type":"WebSite","@id":"https:\/\/stackify.com\/#website","url":"https:\/\/stackify.com\/","name":"Stackify","description":"","publisher":{"@id":"https:\/\/stackify.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/stackify.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/stackify.com\/#organization","name":"Stackify","url":"https:\/\/stackify.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stackify.com\/#\/schema\/logo\/image\/","url":"https:\/\/stackify.com\/wp-content\/uploads\/2024\/05\/logo-1.png","contentUrl":"https:\/\/stackify.com\/wp-content\/uploads\/2024\/05\/logo-1.png","width":1377,"height":430,"caption":"Stackify"},"image":{"@id":"https:\/\/stackify.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Stackify\/","https:\/\/x.com\/stackify","https:\/\/www.instagram.com\/stackify\/","https:\/\/www.linkedin.com\/company\/2596184","https:\/\/www.youtube.com\/stackify"]},{"@type":"Person","@id":"https:\/\/stackify.com\/#\/schema\/person\/d02850a3ac13c2579469b3d0df48a845","name":"Matt Watson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stackify.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/51c331d566bab0683ebf28ba58bdc860?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/51c331d566bab0683ebf28ba58bdc860?s=96&d=mm&r=g","caption":"Matt Watson"}}]}},"_links":{"self":[{"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/posts\/14489"}],"collection":[{"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/comments?post=14489"}],"version-history":[{"count":4,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/posts\/14489\/revisions"}],"predecessor-version":[{"id":44110,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/posts\/14489\/revisions\/44110"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/media\/38031"}],"wp:attachment":[{"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/media?parent=14489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/categories?post=14489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/tags?post=14489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}