Website Performance: Taxonomy of Tips introduced a classification scheme to help us organize the many performance tips found on the Internet. My following three articles reviewed the tips that affect the response’s journey from the server to the client category. Today’s article begins the discussion about the synchronicity category. Read the rest of this entry »Website Performance: Synchronicity
Tags: asynchronization, asynchronous processing, best practices, on-demand loading, parallel processing, perception, perception vs. reality, performance, rendering, serial processing, synchronicity, synchronization, synchronous processing, taxonomy of tips, time to interactivity
Website Performance: Taxonomy of Tips introduced a classification scheme to help us organize the many performance tips found on the Internet. My following three articles reviewed the tips that affect the response’s journey from the server to the client category. Today’s article begins the discussion about the synchronicity category. Read the rest of this entry »Image Processing for Performance
Tags: colour depth, compression, favicon.ico, image formats, image optimization, image processing, image quality, images, journey from server to client, overlapped images, performance, raster graphics, rendering images, resolution, sprites, taxonomy of tips, vector graphics, web performance
Website Performance: Taxonomy of Tips introduced a classification scheme to help us organize the many performance tips found on the Internet. Empty Src and Href Attributes and Component Caching then started to examine the “journey from the server to the client” category. We continue looking at that category here by examining the impact that images have on the journey.In general, the smaller the image, the smaller the data stream sent from the server to the client. Obviously, minimizing the amount of data sent to the client improves performance. Read the rest of this entry »Webpage Component Caching (Part 2 of 2)
Tags: "last-modified" header, "vary" header, cache-control header, caching, component caching, component load times, css, ExpiresActive directive, GET vs. POST, html, HTML caching, inlining content, javascript, journey from server to client, page load testing, performance, proxy caching, static vs. dynamic, taxonomy, web application performance, web applications
Read the rest of this entry »
Webpage Component Caching (Part 1 of 2)
Tags: "expires" header, .htaccess, browser caching, cache-control header, caching, component caching, components of a web page, css, dynamic web pages, Expires-Active directive, ExpiresByType directive, ExpiresDefault directive, frequently-changing web pages, html, HTTP headers, javascript, journey from server to client, taxonomy
Cache Components As Long As Possible
The best way to improve performance of an action is to not perform the action. Zero sounds like a great performance measurement! When it comes to the journey a response makes from a server to a client, the best possible performance is to eliminate the journey completely. Read the rest of this entry »
Empty Src and Href Attributes
Tags: application performance, content management system, Google, href, html5, img, journey from server to client, link, null URL, Patrick Killelea, RFC 3986, script, self-referring web pages, src, Steve Souders, style, templating engine, Yahoo
Website Performance: Taxonomy of Tips introduced a classification scheme to help us organize the many performance tips found on the Internet. Since Yahoo’s five most highly-weighted tips fall into the journey from the server to the clientcategory, we might expect this category to offer the best improvement in web application performance. This and my next two articles will discuss tips that relate to the journey from the server to the client.It isn’t hard to find tips in this category. In fact, if we limit our search to just those tips identified as “best practices” by Google, Yahoo, Steve Souders, and Patrick Killelea, this category is well represented.Today’s article describes the one tip that Yahoo considers most important. Read the rest of this entry »Screen Scraping
Tags: HTTP extraction, JSON, M3, Monitis Monitor Manager, monitoring strings, regular expressions, sample code, screen scraping, XML
If you would like to monitor a number or string from some arbitrary web page anywhere in the world, Dan Fruehauf’s article, HTTP Extraction With Monitis, shows you how.Dan’s article not only explains how, but also contains sample code to show how. The sample code is written in M3 (the Monitis Monitor Manager) and uses JSON (JavaScript Object Notation), but the article also discusses how to use regular expressions or XML instead of JSON. The 15 line sample code is available on GitHub, so you can use it without worrying about copyright issues.
HTTP Extraction
HTTP extraction has been around almost as long as the World-Wide Web. We called it “screen scraping” back in the 80’s. It’s a simple concept – you access a web page programmatically, then extract the information you need from the web page. Once you have the information in a variable inside your program, you are limited only by your imagination.
M3 simplifies HTTP extraction. It is a Perl-based framework that uses regular expressions, XML, or JSON to extract parameters. As Dan shows us, M3 can be used to extract data from a web page and populate a Monitis monitor with the extracted data. Read the rest of this entry »
Website Performance: Taxonomy of Tips
Tags: Google, performance, taxonomy, tips, website performance, Yahoo
Google/Yahoo Best Practices pointed out that Google and Yahoo created lists of best practices for website performance. Google and Yahoo are not alone. A recent web search for “performance tips for web applications”got over 30 million hits.It may be useful to break this topic down into subtopics. We could then classify tips according to subtopic, which would make it easier to find what we need. Instead of searching allthe tips, we could search only those that pertain to the problem we are facing. This article is my first attempt at creating a taxonomy (categorization) for this purpose. I will not be following the topic further in future articles, but perhaps this article will suggest an approach for those who do. Read the rest of this entry »Monitoring Directory Size
Tags: creating monitors, cross-platform, e-mail notification, monitoring directory size, notification, populating monitors, Python, SMS notification
Files keep growing! Then comes the ultimate crash when they’ve grown too much. If you would like to monitor the number and size of the files in some directory on your server (and who wouldn’t), Mikayel Vardanyan shows you the easy way in Monitoring Files and Directories with Monitis.Mikayel demonstrates how to use a Python script to create and populate directory-watching monitors. You do not need to know Python to use them. You just invoke them from the Unix command line and pass in the required parameters. It couldn’t be easier. The scripts are available at GitHub, which means you can copy, personalize, and use them without worrying about copyright issues.
It is possible to populate a monitor with a one-line command set up as a cron job. You first need to create the monitor (also a one-line command) and edit the configuration file (another one-liner). This trivial effort gives you the file count and the total size of the files in any directory you choose. Plus you can scan recursively to whatever depth you specify. Now that’s a productive use of your time! Read the rest of this entry »
The Application Performance Monitoring Primer (Part 3 of 3)
Tags: addResult, APM Primer, application component deep-dive monitoring, application component discovery and modeling, application component discovery and monitoring, application layer, application performance, application performance monitoring, end-user experience, end-user experience monitoring, HTTP, Monitis Open API, time differential, user-defined transaction profiling
Application Management (AM) includes project management, development, testing, quality assurance, release management, application monitoring, and responding to the information supplied by monitors. Application Performance Monitoring(APM) is application monitoring that is focused on performance rather than security, availability, planning, or some other matter.This article is part three of a primer for those who have never heard about APM. It is helpful to read part one and part two first.
Part Two of this article ended by saying:
“This allows the development team to effectively implement end-user experience monitoring; user-defined transaction profiling; application component discovery and monitoring; and application component deep-dive monitoring, all with just one tool.”
Part Three continues by describing how to use Monitis cloud-based monitoring to accomplish user-defined transaction profiling, and application component discovery and modeling. Read the rest of this entry »
Google/Yahoo Best Practices
Tags: application performance monitoring, best practices, deep-dive monitoring, Google, Page Speed, performance tips, problem determination, tips, transaction monitoring, transaction profiling, user experience monitoring, website performance, Yahoo, Yslow
Like it or not, your end-users will judge your website. If, in their judgment, it is perceived to be slow, that judgment will partly determine how often they return. It will also affect their friends’ decisions insomuch as user experiences are shared. That’s why monitoring the user experienceis so important.Now on to the next step. We’ve monitored user experience and our monitors are telling us that things could be better (or couldn’t be worse). So what do we do about it? We know the transaction is slow, but how do we identify the source of the problem?We can search the Internet for suggestions, but we would quickly find way too many tips and varying opinions about their relative importance. Lack of information is not the problem here. The problem is that there is too much information with a wide variety of opinions interspersed.
Fortunately, someone is trying to help us wade through the mass of opinions. Based on research rather than opinion, Google and Yahoo have each published their own version of the best-of-the-best performance tips for web applications. Yahoo has also provided implicit rankings for their tips. Finally, both have created tools you can use to judge your own web pages. Yahoo created YSlow and Google created Page Speed. Google and Yahoo are not the only reputable sources of information out there, but they seem to have given the matter reasonable thought and have produced some usable tools. Read the rest of this entry »


