Performance test modelling (part 5)
Jorg Hoh | Things on Content Management System
by Jörg
3w ago
This is part 5 and the final post of the blog post series about performance test modelling; see part 1 for an overview and the links to all articles of this series. In the previous post I discussed the impact of the system which we test, how the modelling of the test and the test content will influence the result of the performance test, and how you implement the most basic scenario of the performance tests. In this blog post I want to discuss the predicted result of a performance test and the actual outcome of it, and what you can do when these do not match (actually they rarely do on the fir ..read more
Visit website
Performance test modelling (part 4)
Jorg Hoh | Things on Content Management System
by Jörg
1M ago
This the 4th post of the blog post series about performance test modelling; see part 1 for an overview and the links to all articles of this series. In the parts 2 and 3 I outlined relevant aspects when it comes to model your performance tests: The modelling of the expected load, often as expressed as “concurrent users”. The realistic modelling of the system where we want to conduct the performance tests, mostly regarding the relevant content and data. In this blog post I want show how you deduce from that data, what specific scenarios you should cover by a performance tests. Because there i ..read more
Visit website
CDN and dispatcher – 2 complementary caching layers
Jorg Hoh | Things on Content Management System
by Jörg
1M ago
I sometimes hear the question how to implement cache invalidation for the CDN. Or the question is why AEM CS still operates with a dispatcher layer when it now has a more powerful CDN in front of it. The questions are very different, but the answer is in both cases: the CDN is no replacement for the dispatcher, and the dispatcher does not replace the CDN. They serve different purposes, and they combination of these two can be a really good package. Let me explain this. The dispatcher is very traditional cache. It’s fronting the AEM systems and the cache status is actively maintained by cache i ..read more
Visit website
Performance tests modelling (part 2)
Jorg Hoh | Things on Content Management System
by Jörg
2M ago
This is is the second blog post in the series about performance test modelling. You can find the overview over this series and links to all its articles in the post “Performance tests modelling (part 1)“. In this blog post I want to cover the aspect of “concurrent users”, what it means in the context of a performance test and why its important to clearly understand its impact. Concurrent users is an often used measure to indicate the the load put to a system, expressed by usage in a definition, how many users are concurrently using that system. And for that reason many performance tests provid ..read more
Visit website
Performance tests modelling (part 1)
Jorg Hoh | Things on Content Management System
by Jörg
2M ago
In my last blog post about performance test I outlined best practices about building and executing a performance test with AEM as a Cloud Service. But intentionally I left out a huge aspect of the topic: How should your test look like? What is a realistic test? And what can a test result tell you about the behavior of your production environment? These are hard question, and I often find that these questions are not asked. Or people are not aware that these questions should be asked. This is the first post in a series of blog posts, in which I want to dive a bit deeper into performance testi ..read more
Visit website
Sling Model Exporter & exposing ResourceResolver information
Jorg Hoh | Things on Content Management System
by Jörg
2M ago
Welcome to 2024. I will start this new year with a small advice regarding Sling Models, which I hope you can implement very easy on your side. The Sling Model Exporter is based on the Jackson framework, and it can serialize an object graph, with the root being the requested Sling Model. For that it recursively serializes all public & protected members and return values of all simple getters. Properly modeled this works quite well, but small errors can have large consequences. While missing data is often quite obvious (if the JSON powers an SPA, you will find it not properly working), too m ..read more
Visit website
A review of 2023
Jorg Hoh | Things on Content Management System
by Jörg
3M ago
It’s again December, and so time to review a bit my activities of 2023 in this blog. I have to admit, I am not a reliable writer, as I write very infrequent. And it’s not because of lack of time, but rather because I rarely find content which (in my opinion) is worth to write about. I don’t have large topics, which i split up into a series of posts. If you ever saw a smaller series of posts, that mostly happen by accident. I was just working on aspects of the system, which at some point I wrote about and afterwards started to understand more. That was the default of the last 15 years … (OMG, a ..read more
Visit website
Thoughts on performance testing on AEM CS
Jorg Hoh | Things on Content Management System
by Jörg
4M ago
Performance is an interesting topic on its own, and I already wrote a bit about it in this blog (see the overview). I have not written yet about performance testing in the context of AEM CS. It’s not that it is fundamentally different, but there are some specifics, which you should be aware of. Perform your performance tests on the Stage environment. The stage environment is kept at the same sizing as the production environment, so it should deliver the same behavior. and your PROD environment, if you have the same content and your test is realistic. Use a warmup phase. As the Stage environme ..read more
Visit website
If you have curl, every problem looks like a request
Jorg Hoh | Things on Content Management System
by Jörg
4M ago
If you are working in IT (or a crafter) you should know the saying: “When you have a hammer, every problem looks like a nail”. It describes the tendency of people, that if they have a tool, which helps them to reliably solve a specific problem, that they will try to use this tool at every other problem, even if it does not fit at all. Sometimes I see this pattern in AEM as well, but not with a hammer, but with “curl”. Curl is a commandline HTTP client, and it’s quite easy to fire a request against AEM and do something with the output of it. It’s something every AEM developer should be familiar ..read more
Visit website
Identify repository access
Jorg Hoh | Things on Content Management System
by Jörg
5M ago
Performance tuning in AEM is typically a tough job. The most obvious and widely known aspect is the tuning of JCR queries, but that’s all; if your code is not doing any JCR query and still slow, it’s getting hard. For requests my standard approach is to use “Recent requests” and identify slow components, but that’s it. And then you have threaddumps, but these are hardly helping here. There is no standard way to diagnose further without relying on gut feeling and luck. When I had to optimize a request last year, I thought again about this problem. And I asked myself the question: Whenever I che ..read more
Visit website

Follow Jorg Hoh | Things on Content Management System on FeedSpot

Continue with Google
Continue with Apple
OR