Monitor Performance Flashcards
What are 4 notable causes of front end performance problems?
- Too much on the home page
- Large Images
- Large Javascript Libraries
- Too Many Fonts
What is a cache?
A cache is a high-speed data storage layer which stores a subset of data.
How does eTag caching improve performance
This option is used to determine the state of an API request on the server so if a subsequent request is made, it will return a status 304 (not modified) indicating that the data has not changed. This prevents the server from having to recalculate the data for the API request.
What considerations does a developer need to take into account when using the cache manager?
- How frequently the cached data changes.
- How much data is stored in the cache (to prevent automatic cache eviction).
- How long the cache should live vs the cost of reloading.
What is the shared (distributed) cache primarily used for?
Real time inventory and pricing.
What are the layers of the shared (distributed) cache ?
Local (in memory on server) > shared cache (in sql or redis)
True or False: Session state is used to store the InsiteCacheId. This InsiteCacheId GUID is then referenced in the cookie to retrieve the Shopping Cart.
False
When locally monitoring db calls what is a good rule of thumb for how long a “suspicious” query takes?
300ms
What are some strategies to help reduce table scans when using LINQ?
- Writing direct SQL queries (instead of LINQ)
- Creating a stored procedure.
- Creating a supporting table with the data you need
What are two convience methods available to improve DB performance when using LINQ queries?
- GetTableAsNoTracking
- WhereContains
Which Products API is used in the classic CMS?
Products V1 This is less performant because it leverages the search data less and is built with less efficient stored procs for gathering related product information.
Name 3 changes that can improve the performance of products on the site?
- Limit the number of entries in any given cross-sell/accessory/related product widget
- Reduce the default page limit on product list pages
- Keep the number of traits on product variants low (between 2-4)
How are custom properties stored in the database?
Each one is represented in the database as a name/value pair
Which entity is likely to have the greatest performance degregation from adding a custom property?
Product
For most entities, the system is not constantly reading different data so retrieving, say, 50 custom properties for a customer is likely not going to be a problem. Take those 50 properties to the Product or Category tables, for example, you will likely have some performance concerns.
What are two approaches to add additional information to products without using custom properties (to avoid performance issues)?
- Alter the ProductCollection pipeline to only retrieve those properties you actually need
- Use a custom table for the product instead of custom properties