Let’s start with a guess – what is the most CPU-heavy operation in Sitecore? Answer: Performance counters initialization: Yes, that’s right, those performance counters which are powered by OS and super fast. Although Sitecore counter init implementation does not look offensive (volatile read & interlocked), counters are everywhere (cache lookup / access / object creation):Continue reading “Reckless interlocked operations”
Case study: polluted reports shows how system can be polluted with dummy data. Saving data (even HTTP referer) without validation can contaminate system as well: The results show astonishing 28KB for storing single value: Next time you see Analytics shards worth 600 GB – recall this post.
The story why a mechanism to verify configuration is important.
Can “site visit frequency from specific place (or better, certain company office)” be just a query away? The needed analytics data is already collected by Sitecore, hence data mining could roughly be: Figure out area postal code (or reverse it by IP using any reverse IP lookup) Find all contacts that have the same detailsContinue reading “How often the site is visited from specific place?”
Agenda Analytics reports have suspicious statistics with lower conversion rates compared to other systems. Can we find out why? It seem that healthy data is diluted with junk/empty interactions with no value. We assume robot/crawlers activity gets recorded. Is there any OOB protection in Sitecore? Filter out robots by user agents Sitecore blacklists robots viaContinue reading “Case study: polluted reports”
Why ‘Sitecore is not testable’ cliche is no longer actual.
The story how query optimization can influence the overall database performance.
The case study on how the harmless collection could silently cause system to work slower and remain undetected for ages.
Would you as a developer allow a setting that can make system 15 550 times slower? I’ve received a few memory dumps with high CPU; each scavenges AccessResultCache: How big is the cache so that every snapshot contains the operation? Detecting cache size from the snapshot A ClrMD code snippet locates objects in Sitecore.Caching.Generics.Cache namespaceContinue reading “Performance crime: config to kill performance”
Performance Engineering of Software Systems MIT course begins with optimizing math task code to make it work 53K times faster.
How faster can real-life software become without changing the technology?