Welcome!

Silverlight Authors: Automic Blog, Michael Kopp, AppDynamics Blog, Kaazing Blog, Steven Mandel

Related Topics: Silverlight, ColdFusion, Adobe Flex, Machine Learning

Silverlight: Article

Top Low Hanging Fruit to Performance Optimize Your Web Site

Steve Souders at the Ajax Experience in Boston

Web Page Performance was one of the big topics at the Ajax Experience in Boston this week. Steve Souders - author of High Performance Web Sites and Even Faster Web Sites - talked about the top things to look into when analyzing web page performance.

Business impact on Web Site Performance

Steve presented some recently published studies from Google, Microsoft and Shopzilla showing how much of a business impact web page performance has. Google and Bing presented a study showing how many people leave the site with degrading page performance and many fewer clicks these users make. Lost users and fewer clicks lead to less generated revenue with their ads.

Shopzilla showed how they could boost their business and save on the hardware side by improving their web site performance:

Shopzilla Performance Summary

Shopzilla Performance Summary

Top Low Hanging Fruits

In Steve Souders opinion, most of the web performance problems relate to how the web page is designed leading to issues like too many embedded resources, too large JavaScript files, missing compression and client side caching. Following is a list of some low hanging fruits in order to speed up web site performance. I am using the FREE dynaTrace AJAX Edition to visualize the individual use case scenarios:

Too many network roundtrips due to too many embedded resources

Analyze the actual network roundtrips when requesting a page. Not all embedded resources (like images, css, ...) get loaded in parallel by the browser. Each browser has a set of physical network connections that are used to downloaded embedded objects. The following dynaTrace network view shows that - when accessing http://280slides.com/Editor - 172 .png images have to be loaded by the browser. It also shows how loading these objects gets deferred due to the network connection limitation of the browser.

Many embedded images slow down overall page page

Many embedded images slow down overall page page

You can use several different techniques to lower the amount of network roundtrips. If images are static think about client side caching. Or consider CSS Sprites to reduce the number of images by merging them into one bigger image. Another technique is Domain Sharding to overcome the network connection limitations.

No optimal use of Caching and Compression

Analyze the embedded objects for the usage of client side caching and compression. Static images can be cached on the browser to reduce network roundtrips on subsequent page requests. Look at the http response to analyze current cache settings and analyze if they could be cached in case they are not. Same thing holds true for compression. Large files can be compressed lowering the required network bandwidth.

Request details showing current cache and compression settings

Request details showing current cache and compression settings

Check out this blog entry by Puneet Sangal that gives guidance on content caching and compression.

JavaScript files blocking browser downloads

When JavaScript files are downloaded by the browser - the browser blocks all other activity, e.g.: downloading additional embedded images. This holds true for older browsers (IE 6, FF 3). Newer versions of these browsers at least parallel load other resources - but - once a JavaScript file is downloaded it will be executed. During execution all other tasks are stopped. Looking at the network request image above shows us that there was a big gab after one of the JavaScript files was downloaded. This tells us that the browser actually executed the JavaScript filed and postponed downloading of the remaining embedded objects. Looking at the JavaScript that got executed shows us where the time was actually spent:

JavaScript Execution blocking additional downloads

JavaScript Execution blocking additional downloads

Check out this blog entry from webdigi - it explains how to avoid blocking content download by JavaScript

Failing network requests

AJAX Frameworks tend to dynamically load embedded objects for different reasons either using XHR (XmlHttpRequest), iFrames or by creating DOM objects. Incorrect constructed URLs lead to failing network requests. Using all different types of frameworks that use techniques like that make it hard to identify where in the JavaScript library these URLs are constructed. With the dynaTrace AJAX Edition you can solve this by drilling from the failed network request in the network view down to the PurePath view showing the JavaScript methods that executed the call:

JavaScript library dynamically constructs URLs

JavaScript library dynamically constructs URLs

In the above example the JavaScript framework tried different network path patterns to retrieve a specific file. Each attempt caused a very expensive network roundtrip (>500ms) totalling up to several seconds to retrieve a certain file.

Any other low hanging fruits?

Books like those from Steve Souders or blog entries from the web performance community cover many approaches and checklists to speed up your web page. Please share your experience and post your feedback on this blog.

More Stories By Andreas Grabner

Andreas Grabner has been helping companies improve their application performance for 15+ years. He is a regular contributor within Web Performance and DevOps communities and a prolific speaker at user groups and conferences around the world. Reach him at @grabnerandi

IoT & Smart Cities Stories
A valuable conference experience generates new contacts, sales leads, potential strategic partners and potential investors; helps gather competitive intelligence and even provides inspiration for new products and services. Conference Guru works with conference organizers to pass great deals to great conferences, helping you discover new conferences and increase your return on investment.
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
DXWorldEXPO LLC announced today that ICOHOLDER named "Media Sponsor" of Miami Blockchain Event by FinTechEXPO. ICOHOLDER gives detailed information and help the community to invest in the trusty projects. Miami Blockchain Event by FinTechEXPO has opened its Call for Papers. The two-day event will present 20 top Blockchain experts. All speaking inquiries which covers the following information can be submitted by email to [email protected] Miami Blockchain Event by FinTechEXPOalso offers sp...
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
SYS-CON Events announced today that IoT Global Network has been named “Media Sponsor” of SYS-CON's @ThingsExpo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. The IoT Global Network is a platform where you can connect with industry experts and network across the IoT community to build the successful IoT business of the future.
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performance data from large automated systems such as heating and cooling to the people that live and work within them. Through machine learning, buildings can optimize performance, reduce costs, and improve occupant comfort by ...
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.