AEM Sites Efficiencies: Performance optimization, Configuration, and Troubleshooting
In this webinar, we’ll dive into the essentials of troubleshooting Adobe Experience Manager (AEM) Sites. Whether you’re facing performance issues or dealing with complex configurations, this session will provide practical skills to maintain and optimize your AEM environment. We’ll prioritize live demos over slides, offering hands-on experience in tackling real-world challenges.
Transcript
Hi, all. Thanks for joining. We will be getting started in the next couple of minutes, and, today’s session will be focused on a site’s efficiencies. Performance optimization, configuration and troubleshooting led by Dominique. We are going to wait just another minute for attendees to filter in, and then we will get started. So just give it a few more minutes. Thank you.
Hi, everyone. That just joined. Just repeating myself. Welcome to today’s session. We will start in a couple of minutes. We will just wait. Yeah. A few more minutes for attendees to filtering, and then we will start. So, yeah, just give us a few more moments. Thank you.
So I think we are ready to start.
Hello and welcome. And thank you for joining today’s session focused on AMP site efficiencies. We will talk about performance optimization, configuration and troubleshooting. My name is Linnea. And I work in Adobe’s ultimate success organization as a senior customer success manager, where we focus on helping Adobe Customer get as much value as possible from their Adobe solutions.
First and foremost, thank you for your time and attendance today. Just to note that this session is being recorded. And a link to the recording will be sent out to everyone who registered after this webinar. This live webinar is a listen in only format, but it’s very much intended to be interactive, so please feel free to share any questions into the Q&A pod.
We have reserved some time to the discussion to discuss the questions, that are asked in the end of the session.
And if any of your questions, won’t be, bring it won’t be answered. We will make sure that we will follow up with you after the webinar. We will also be sharing out a very short survey at the end of the presentation. And we would really appreciate if you just took your time to answer the questions. We have to shape future sessions.
So, to the presenter today, I’m joined with my colleague Dominique, and he work as a principal customer success architect and have been working at Adobe for nearly nine years now. So, I will, hand over to Dominique. So, yeah, please enjoy and welcome again.
Thank you. Linnea. Let me go to the next slide. Maybe also show our next events.
I just wanted to have that quickly in the recording. I think we also sent this out via email. So if this is too fast and you’re interested in something, please watch out for the emails. When you get the invite as well. And then I will come to the topics. Yeah. Thanks, everyone, for joining. This, the topics that I thought make sense to talk about today.
Of course I thought about that. What might be common things or customers or a lot of customers have difficulties with what are repeated issues. But where we can might help you with and and and bring you, little insights and knowledge to, to be more efficient and safe with your installations and your, troubleshooting skills. And, yeah. First topic would be a dispatcher, I said is a key part of, delivering performant websites.
I wanted to quickly go into a dispatcher configuration. What I think is the most important thing. And I also wanted to combine this dispatch up topic with a little introduction into my local demand development environment. I think it’s always interesting how people work. I hope you see it as a tool like that. And it would might be helpful for you to set up your local, development instance in a faster way to, do more tests also with the dispatcher or other things, quickly can do some tests without the requirement of blocking some cloud instance or whatever. Yeah, that’s the first thing. Next thing would be, rights management. Which sometimes is complicate it if, organizations are getting larger and larger and especially of, ACLs, rights to have to be, published or somehow, shared across instances. That’s why I also wanted to look into, rights management within the that centric tool.
And after that, loose, couple of, performance issues or problems that I’ve seen in the past nine years, several times with various customers. And I want to bring it to your attention. So these topics are not connected to this one slide for each topic. I quickly wanted to to show you what’s going on here and what to watch out for, to maintain a, fast and and stable, installation. And after that, we would go into Q&A.
Yeah. So let’s directly jump into the first topic and talk about the dispatcher.
Maybe a quick, a catch up. What is the dispatcher? What are we talking about? For for everybody to be aware of, on this, diagram, we see a very minimalistic. Yeah. Installation. It’s more or less true for a, on premise or on cloud services. It is always that we have, a, author and publisher, as, the, main instances and in front of that to the Apache dispatcher, which is, mostly if they are for speed and caching, it’s a little bit of for security as well. So this is a key part of, of, of making our site fast, because, yeah, this is for our lives. And that’s where I wanted to to look into, basic. How’s holding the most three important topics for the dispatcher? From my point of view? First of all, virtual host configuration for every domain name.
That, of course, makes it easy for you to to, organize. And it makes it easy for the system to, do, things like, cache invalidation.
Next thing, very important from my point of view, is a domain mapping with the cache structure in mind. I with what? I mean by that is the cache should be structured like here, a content, which is not always the case, but, and if you start with this, you might come up with a different structure and, and, and then you at a, at latest when you want to add, another tenant or you have issues with cache invalidation, you, you come into problems and, that’s why I would always start with, having the complete a, structure in your cache, to a, to a make it easy for multi-tenancy and for cache invalidation.
And last point, not really. I then I’ll talk more about this and this line, but it is super important I think is also keep an eye on your for of course, do a regular report of that and create redirects with, 3 or 1. Move permanently to the new sites to help your visitors find to the the right content and also help you with your SEO.
Results.
There are hundreds of ways of making map domains to a, and, configure this with and dispatcher. I think there is one very easy way, of doing this, and also, again, with caching in mind and maintaining the right structure within your cache. And that would be that, you in, in, on the dispatcher, you, of course, you’ve got this short incoming links, with the domain that you want to map to some deeper content within the URL. And, yeah, this URL shortening to the full format that would have happened on, on the, on the dispatcher. So I would always get the full path as an incoming link. But I would know about this short URLs and what create the links with that are shortened. There are different ways of doing this. The easiest way I think is with an it with a, with a mapping.
You can see this, in the screenshots. I will quickly go into the demo as well. But here we only have one, entry in our, on our a m instance. So this is the publisher, repository, and we would only have the reverse HTML, mapping, which maps, all incoming short. Your else like this. It would pick this the low one, part of it and would put it on the long, on the long path to get the right content. And the other way around it would produce content length. Sorry for that. It would produce content links that usually would look like that. It would shorten them. And at and to this. And that’s a reverse mapping for this domain name. So very easy configuration and a m and on the dispatcher side we said we would have this incoming redirect.
There are a couple of, of, of conditions.
That have to be, made a, match. And then the, the part at the end of, of, the your l would be, added to this long URL with a path through and a a signal a the last. And that would lead to, to this, full cache structure. Let me go into my system and show you a little bit around. Quick switch to the other topics that I wanted to combine with this. How I work with a, on my local instances. I usually have my terminal split up into several sections on the top left. It’s always the author. Then there’s the publisher and on on on the bottom. Sometimes it change during the day, but mostly it’s a dispatcher. And within this, I have very simple scripts. I have a lot of them. But, so it looks a bit messy, but it’s very simple. And I think, the beauty of it is with these, multiple scripts for maintaining your local instance is that it’s there’s no need to document anything. If you look at this directory and you know what what what to to choose, instead of having one script with, parameters that would not work with autocompletion and stuff, and make it more complicated. So this is usually how I started.
I have a backup folder in, in for, for, the Am publisher and for the author where I store all the customers. That I work with, as tar files. And then there’s important and also always a fresh instance of of, a instance that I, recently pulled up. So if I have to work on an old version or something, I can quickly pick this, white tar. It is much faster than sipping or, gossiping. This, and of course, it’s a little bit larger, but it is very fast to, to use as this. I also have this fast script which takes care of that. There’s no running instance running on this port, otherwise it will shut it down.
Gracefully, of course. And then, pull that, got this back up and, and and, start off easy and as you can see, that’s what I’m currently doing. So I’m restoring this instance right now. And in a couple of seconds, it should be started.
So it is, unpacked now and, and starting I have a matching script that would pull it back up. And yeah, as I worked with a lot of customers or if I work on, problems that I need to reset the installation. Very often, I, I sometimes I, start up a, an instance, a hundred times a day. That probably happens as well. Ten times at least that that’s happened very often. And as you can see, it is fast. Is running, same system on the, on the publisher side. These are both connected. That would be different with a cloud services, but, format for now, it’s it’s in a traditional way, and I can publish to, from a Am author to the publisher. And the publisher would also do the cache invalidation. Below that, I have, the, from the SDK for the cloud services SDK, the dispatcher that I also have, and then the scripts, because I’m not sure about why, but, the, the standard, scripts that are coming with this are, I think, not easy to, to, to use. That’s the same thing. But with my scripts, I like to have it simple. And that’s how I kick off a dispatcher. And now I’m up and running. I have the systems here. If I, enter a local Euro and all, like, big and local, I should, reach my dispatcher. Probably. See also a little bit of movement here and here. I think this came up completely from cache, but, yes, that’s my dispatcher configuration, my local dispatcher configuration. As you can see, the links are short.
Maybe, quickly remove the cache to see that the cache is is is set up correctly. If I, look at this structure, there is a cache folder here. Let’s delete everything. What’s what’s inside? So we don’t need that anymore. And now if I reload the page, it should come from, probably that was product caching. Yes, I it should come from it should come from the publisher. Let me just figure out why. Why there is no.
Logging. No. It has no, I have it here. I have the special lock on the bottom left. I have to publish lock on the on the top right. And if I now go on the page that have not been before, I should have logging on both ends.
Now it’s slow because it’s a webinar.
Okay, now you can see it. I hope it wasn’t too fast. Pages here. Dispatcher. Lock and publish a lock. And the important thing how is this cache structured? If I lock on the tree? Of this we can see okay, this on top there is content this week and it’s using this. So it’s not so shortened to URL. It’s the full URL that we have the full path and the and the passion and the cache that we have. And this is structured exactly as the JCR. And that’s what we want to have achieve. This makes it clear for the system what to invalidate if we publish anything new. It is also invoked would work with more tenants. It would work with more languages. There is no interference between between websites on the cache level and this is, I think, the important part to look out for.
Yeah, that’s it’s a little, view into this pet show how I would do it. I hope it wasn’t too fast. In that case, there would be a recording, or you drop me an email or send it out. It’s a question. And we can go into this, at the end again and discuss your questions.
So next slide, rights management.
It can’t be repeated often enough. You’ve probably heard that. But I think it’s important to always keep the best practices in mind when working with a, if you have a developer background and working with Amazon’s agents, it’s probably not a lot new for you here on this slides, but I think it is worth to, to quickly get, through it again. Yeah. As you know, Adam uses ACLs to determine what actions a user or a group can do on a system.
And for these ACLs, we always need to have some basic rules to follow to make it clear, not only for us, also for the system, to apply it correctly. First of all, I think this is true for the most I.T systems don’t apply rights to groups, to users only around apply rights to groups. Yeah, I think that’s clear. If you do this on a user level, you have a totally, a be lost after some time. What users are allowed or not? This has always, to be done on, on groups level. Not next thing, I’m not sure if this is true for all AI, T-Systems, but it’s definitely true for, for a, avoid deny statements. It should always be the top level denied. And then get the, the path down. You allow things to groups, and give the users more and more rights. I think that the groups more and more rights, for particular parts of your, of your system, if you mix this up and deny something down the tree, it can be confusing, at least for humans to understand. But also for the system that if you have a, allowing a do not, a statement for the same following, at the end, the, the the order of these, rules might be important to determine what users are allowed or not. Well, that can be very confusing. Easiest way is just don’t do it. Only, for the top level. And.
Avoid.
Up to. For rights or more. Rights and necessary to or to a lot of people to get rid of these, messages. And that’s, I think the the key if you, keep this, structure simple, understandable for your users until they know what they are allowed and where they’re not allowed to do a, stuff without clicking in ATM and see if there’s a replication button or not, and, and wonder why, that would make your life easier. And at the end, that will make your system safer because you can avoid these, at the moment. But much of multiple, administrators with or people with too much rights and trust your users whenever possible connected to this avoid overengineering trust. Yeah, a lot of people and give them the rights that are clear for them to understand.
I had an example for rights management that I, usually show not to developers or architects, but to business users.
You know, it is a very simple example, maybe too simple for this, audience, but I think, it is it can be representative about a part of your website and how you define rights. What we do, we have here, we have a central team that is allowed to do a lot of stuff. It can read and write and the entire tests, folder. And then we have team A and B with their team folders, and, these guys are not allowed to write everybody, they should read everything that’s, implicit.
Granted, with this, top teams, group that is allowed to read everywhere, but down the path, it is only allowed to write for team A in this team, a folder and for team B in this team B folder. And. Yeah, that’s I think, if you, paint a picture like that and bring it to your users, it might make it easier for them to do it. It’s a very simple thing, but still, if you want to, bring such a system on first, you know, for instance, then a development, instance on cloud services, a staging instance and a publishing instance, and you have to manually go to a, and create these groups, and define the rights. There will be a lot of work and that is one concern. More concern is probably it is error prone if you have these manual tasks to avoid. This is as a great tool. It’s not an Adobe tool, but it is. It is still a great tool and it is well maintained. Which is net centric, a key tool, I’m sure a lot of, of, of attendees in this audience will already use it. I still think it’s, it’s, worth mentioning to have a stable and easy, maintainable instance. An instance, it’s this tool mainly goes away from manual setting uprights and, it has it works with one Yaml file, usually one Yaml file, where you define your configurations similar to what I just showed you.
It’s very easy to read these Yaml files, but the beauty comes to you if you want to bring it on on different systems, because you can develop this Yaml file on your local instance, you can give it a good test. Then you just publish it with your code and deploy it on your development instance. Other people can test it, and if it’s good, you deploy it to a staging and, and production, just like your code. And this is how I think, rights should be maintained.
It is very easy to use. It is traceability is high, as you can follow up later. Who has rights on what? Which might be difficult if this is manually maintained that across different systems.
And yeah, that can be a pro, it can be a con. It prevents manual intervention. If you need manual intervention you can still define folders for not maintained by. Net centric tool and keep your changes in this manually. But in general it, it would have this one structure. You might be prepared for getting a call from a more experienced business user who sets a manual. Right. And it’s not working anymore as well. If you have, you have to select that. And of course, it’s not working anymore because, your tool always goes back to the default, which is the purpose.
Yeah. Quick look into this, how this looks like. I hope it’s interesting for some of you. Let’s open, my local, an author, and see what we have in security permissions right now. That should not be any, permission for a central group or for a team with or for a team. A group or, I don’t know. So we couldn’t find anything like that. Let’s open another window and, use this tool. This tool comes. It’s a package. Very easy to install, like all packages and let’s also start a series and see what and check what I want to install via this tool. So here this is the tool that I want to use. Now this tool needs some kind of configuration. And this configuration as promised came with my last deployment. And the configuration is here.
It pretty much, matches what, the this is simplify roles and rights management slide that I showed you. It has a central group. It has a teams group. It has eight teams A and A teams B. And these are sub members of of this teams group, which makes it easy to define the rights. And for as we define two groups, we have this AC configuration for the central group. It allows everything some version management read rights, lot management stuff on the test folder which is not allowed to the teams.
Members. It’s everything is denied for them. And then down the path in the test folder, they are allowed to to read which gift this write essay inherits to team A and team B, and then we have only the definition for team A to write in this team folder, and 14 b a to write in this team’s folder. Yeah. Instead of going through a and manually us, we would just take the path of the configuration.
And put it into our tool and hit of on run. And a millisecond later it tells me gives me a success message. Will also tell me what has it has done. It has a starting the information of four. Also out of the tables that are the groups that we’ve created, and it also defines a rights. And if you now go into our permission as cream and look again, if there is something changed, we should have our central group which has, the rights to the, the rights, permission on this test folder. We should have a teams, group, which is only allowed to read this TS test folder. And then we have team A, which I can write in the team A folder, and team B, which can write and to be folder. So very simple. And you can deploy it on all the instances that you have. And you don’t have to be worried about checking them or giving someone else the instance and ask him to to, to check it again. There are other ways of initially bring rights to an to a repository with repository into, initialization. For example. I think, that might not be, a full replacement because the things can change over time. And, for this, it is easy to work with this Yaml file. Yeah. Just wanted to mention it, and yeah, there’s you could also work with both if it helps, but, yeah, I think this, this tool has absolutely. It’s, place in the assembled.
Only one other slide. Not fully a technical slide, but I think it is, really helpful for, especially for larger editorial teams. Which is I just called it a lock breaker. A group, I’ve seen this at a financial institute in Germany, and it has worked for them very well. Usually some, one in the I.T or as development team. The team has the administrator password for your instance and can do stuff like, removing a lock off a page lock of a person who is currently on vacation or on sick leave or stuff like that, or looking for a workflow that somehow ran into issues. And yeah, the content team will run into these issues and then maybe need to write a ticket, and this would go to the IT team, to the to the person with this administrator password. And the, this person can then work with it, which is lengthy and, error prone. I guess it as well, because you need to write everything, very well into your ticket.
And I said, what I’ve seen at this financial institute is a very simple system, a group of two, experienced and senior staff members of the editorial team.
I have, I every one of these, two persons have one half of a password of an administrative password. And if they have something like, the page log of a person who is on sick leave, they can just come together on one, computer into both their past, their, their part of the password and together go on the system, as with administrative rights and fix this issue, which is, probably much faster, and I think also more secure because these people usually know exactly what to do, like removing this lock or stopping this workflow or whatever. It has to be done. It’s not always like, hey, you need a new deployment, which would be best placed with the the development team. It is usually something somehow content related. So I wanted to mention it. I think it’s a good, system it would follow for IBM’s principle. So it’s I think it’s pretty secure. Of course, it’s necessary that nobody would work with this, across the entire day. It should only be used for this one purpose. Solving one issue. And then people should log out and go and work with their usual, and less, powerful users.
And now, yeah, this loose couple of performance related things or, issues that come, regularly on very custom various customer installations that I want. I quickly wanted to talk about, first thing would be how to or what to look out for. If you have nightly sync operations, like from a PIM system, offline. Eddie. Yeah, the system where you need to push information to a, to build content on top of it.
This top right screenshot comes from a customer who has really done a lot of things right. They had a theoretical, reticle, cache ratio of 95%, which is, pretty good. The page was really done well, but they’ve just overlooked one thing, and that was they they haven’t been able to, identify the delta of sync for sync operations. So they always pushed the entire PIM system, to a, and which this sync operation led to a full cache flush and this full cache flush, it’s effectively led to a 0%, cache ratio every morning. And they had, significant publisher issues, performance issues in the morning times. Yeah. So. Well, it’s barely any cache. And the cost that this patch as a publisher had to, to to bring nearly everything.
Yeah. That’s, a I assume they laugh about that as well now, but that’s things like that happen and it is not always easy to identify I delta, but I can just only show you the screen and, and tell you how all important is, is to only transport this the data if you have these regular sync operations.
If this is complicated, maybe it’s a way to, move these, product pages. In that case, to a path or to separate it from the other content path and consider TTL based invalidation for this, it would still improve it. So if you have, for example, half a ten minute, TTL for all its product pages, and not, use cache flushing for these pages, we wouldn’t see such a good graph of course, to publish I would have more to do. But it would, it would be more a constant, action over time and not this, harmful impact in the morning hours.
Or of course, got a modern modern me and do not, integrates this PIM information at all in a and, somehow decide for a front end, integration, which I would say is always the best way to do. But there are a things about this just might not be possible. If you want to enrich the content on your Am system, you might be, you might require this to mix pages with these PIM information, for example. Yeah, that’s where M is for. And in that case, it’s a good, practice to, to do operation.
Large page operation during business hours. Yeah, it sounds super easy, but, it is probably coming every week or so that, customers have issues with author performance. And we see that there are large page operation during this time, even if and cloud services, usually these page operations go in the background. It is still some load on the system.
That has to be done. Yeah. If you have something like okay, we need to move our product tree into, this department section, I don’t know. And there are 10,000 pages, involved and a lot of, references between these, pages have to be updated by the system as well. Consider moving it to the, evening hours. Have these lock breakers attend. If, page down, the tree is locked, and, the page move operation fails, like in this example, these people can interfere and quickly remove the lock and move the page to the other and to to allow the page to move to these other, area and necessary workflow steps. I will try to be a bit faster with this. But of course, if you have a default with a lot of steps in your workflows, like I said, processing workflows that you don’t need to kick them out to only leave in your workflow steps, what you really need for your use cases. That of obviously what, improve is the time of, the, processing is not that much topic for a and cloud services. But yeah, as a general practice, I would always recommend to look into this for all workflows.
Third party system processes on offer systems. This looks like a one off, but we’ve seen it with several customers. That there are third party, just party systems and, running, on and off the system. And in this particular use case, it was always image magic. I don’t want to, talk bad about image magic. It’s a great tool. I have used it a lot in my a small, but it is a bit dangerous if it comes to running in parallel on an Am author as it can consume a lot of memory, and it’s not easy to restrict the memory usage. It is possible, but it can lead to, to to broke the images and stuff. So I would not go too far with this.
But, really have a look for this if you have, image conversion on your Am author on prem with image magic, and you have larger images, this can can impact, for instance, pretty significantly, as you can see on this screenshot on the bottom, the system was configured to only run two tasks at the same time. Yeah. But, the it’s an outside process. So I don’t know if this if this, third task has really ended or if I am is only not using it anymore. So in that case, there was, more than ten gigabytes of Ram blocked by image magic for a conversion of. I think it was about 100 megabyte, size images. Or the author hasn’t done anything wrong. It’s just 5 or 10 images. Dropped them on a, And that happened. And if you have an a, author, with a, like, I did this, on my local instance, for example, with, a Tara M.K. yeah, I am can, no matter what is configured to run out of memory. And this could even lead to a broken repository. So really something to watch out for. I would recommend offloads as tasks if you want to work with ImageMagick, which I don’t see anything wrong with. Yeah. Put it maybe on an Azure Function or a AWS Lambda or something like that outside of the instance, and do the conversions there, or used to in the media, which is, perfectly done for this purpose that would offload all of your assets processing to other to that, to, to a cloud solution with Am cloud services. This is not a concern. And I think we wouldn’t even be able to use image magic so that in that case everything is fine. But maybe there are other processes I don’t know yet that can consume a lot of my memory. So keep that in mind that this can be a thing.
Centralized third party services. It is souls. I want to say, silly, that, I can’t imagine it happens, but it happens really, really often because that’s a synchronized system that somehow enriches, the amp page, getting a product information, getting a weather report, I don’t know. And this third party system is not capable of getting the load, which with the yeah affect a am authors, publishers. Everything is slow. You running running out of threads. So system is in a severe pain and can even die on this or feel like it’s died because we don’t have any threats available anymore.
So really watch out for this. Don’t plan anything with a synchronized, request through third party systems where you’re not sure that they can take a load and you or if you do it, configure them as with a very short, timeout time. And. Yeah, be prepared that you run into this timeout and you might need to have some, other content to print and, yeah, deal with this Fayed’s request.
Always good to, offload this to the front end. Then you are on the safe side. And I think that would be also the modern way of dealing with this. Not path is to throw a, on some third party instances.
Heavy custom components, a little bit connected or can be a little bit connected. If you have such things, it could also impact your, your also performance. But there might be other things that going on on your components. Last thing I’ve seen was some kind of a custom targeting tool producing a lot of links on a component to other instances. To, to other sites, which led to, a yeah, a very slow component rendering and also created a lot of references. So moving this page again would, would, would, create a lot of trouble or reduce, what would you use a lot of performance and, and and, that’s what we want to avoid. So of course, so, if you have these big clunky components and there’s no way around of it, at least, limited to operations, in edit mode, and only render them if you are on the publisher to make the the life of your editors easy offload component of course, to us doing front end calls, that’s always sort of the recommended way of dealing with this.
If you have a need for this, you need to have this component with this, hefty operations don’t go that May with, additional custom cache layers. If you stack cache layers, you will probably lose. The oversights and, get into trouble with this. So this up cache is enough caching, not normal caching on a, often sort of publishers would be my recommendation, at least. And that’s no way of talking about a, issues without mentioning segment not found exception, unfortunately. But, yeah, I think so many issues with segment for not found exceptions. Honestly, I have seen product issues with segment not found exceptions, but in the most case it is cases. It was an issue with long running, sessions.
What’s happening there is that the found exception is pretty much ourselves describing, something is missing. Missing in, the repository, which should be there. So it’s a bad thing. That shouldn’t happen at all.
If we see this, the error has already, be done there. It could be hours after the error that we the actual error that is causing this. So if you see this segment that found exception, maybe during compaction, then we can PBP have you run into this. In some cases it might be possible to fix the repository. In some cases we need to go back to back up. But we shouldn’t ignore it. This has to be fixed and we need to search for, the, issue that is causing this. And one thing is to scan the logs for long running sessions. So at the bottom of this you can see this JCL session refresh strategy. This session has been idle for in this case more than 11,000 minutes.
A session should always be, opened very quickly and closed very quickly.
And you might not be aware or had not worked with this before, but internally the checkbox a little bit like a git repository, a little bit like a good repository, we checked out a path or a part of the of, of of the, of the repository work on this. And then there’s a match process. Bring it in this, this path again. And yeah, if you have a long running session, this will keep such a path off your, repositories depository a tree for a long time and work on this. And at some point, it will no longer be possible to match the spec and you’ll run into a failure. And yeah, this quote happened with this long running sessions, so I’ll always keep an eye on this during development, but also during, looking for your locked. But it’s getting less. So that’s a good thing about segment felt and, that’s it. I think with my topics. And we have another ten minutes for Q&A.
Great. Thank you so much, Dominik. Before we go into the Q&A, I will just start, the poll, it’s two questions that we would really appreciate if you could answer. And in the meantime, maybe Dominik will start to look. I saw it was a few questions in the chat and a few questions in the Q&A. So we can, multitask here a bit.
Okay. I think. We can go into this, that is the screenshot was a bit older with this re first strategy. Strategy. How do we identify the owner of the long running session? The easiest way of dealing with it is, scanning your code, for, for, session handling. There is a, a try statement that will automatically close sessions. It’s the easiest way to, to, to just scan for this and see if there’s, if there are any sessions in your code that, that are not properly handled, that I think is easiest for identifying a session from or the owner of the session from this, from this line. And the locks can be very tricky. Maybe this, a hint with the lines before this or after this. Yeah, but I’m not sure because, the process of identifying these long running sessions is independent of this session on off this thread. So, that might be very disconnected. I think the best way would be to really take care of, of all the sessions in your code.
That’s how we always did it. If you’ve worked on these issues and we’ve or we’ve always been successful with this. So it sounds difficult right now. But if you, if you look up segment not found exception or refresh strategy and you would probably find, the things that you need to watch out in code, and then can easily, work with this, in code. Next question in the Q&A. Will there be sharing this of these slides and the recording? Yes. So there will be a sharing. I forgot to mention it. I’m not sure if it’s worth, sharing it. I think the most important part of, my local instance is that you peck with tar and do not pack, cross, zip. So maybe it’s the easiest one for everyone to reproduce, or recreate or create scripts for, for for yourself. Because it’s, it’s really easy. It’s a bit messy, but it is really easy if you work with this, like I do. But if you think this is super valuable, I can also put them on GitHub and share this small, what is ACL? Oh, that’s a good question. Oh. It is. Oh, maybe can someone can can bring this in in, in the chat. Access access access access. Access control list. Right. We. Yeah, yeah, we have actually answered that. So we should be all good there at the moment. Thank you. Thank you. And you mentioned if you have more in the chat, right? I mean, you can. In the, in the ordinary chat or how to say we had two questions there.
So, I can do you see them where you would, would you like. Yeah, I can see it. Are there any considerations regarding aggressive amp caching as it relates to using Adobe Target to deliver client side changes to the Doms structure? I’m not sure if I understand the term aggressive, caching. Because I can’t see anything aggressive about it. I think caching is good and we should cache as much as possible, and I, I’m not sure how is related to Adobe Target as it comes on top of this cache or Uncashed. It doesn’t care. HTML markup. Maybe. Maybe. Jason, if you can add to the chat what you mean by that? Or I’m happy to also continue with this conversation about email, but right now I don’t understand, Adobe Target, it should be, I just don’t care if it’s cached or not. I care if it’s not. But Adobe targets just pixel markup and do the changes.
Could you paste here the rewrite rules you show under this petrified Schmidt extension and at page shortening? Of course, I can, it’s also in the slides, but I can share this. Yes. Are there any topics you’d like to see covered? That’s for us. Okay. I think that’s all the questions, right? Yes. You have covered everything. So. Yeah, if there isn’t anything else, just last minute. I haven’t. Okay, so we got one new in the Q&A.
I think many. Long running sessions. Yes. That is exactly the, what we see here. If you find, this session has been idle for ten minutes, that’s how you identify long running sessions. So this, lock logging is coming automatically, and you don’t have to do anything. You just have to search for it. And that is the search term. This session has been idle for.
Great. Thank you so much, Dominic, for, this session, it was great. And, thanks again to everyone. That joined, and we hope, of course, to see you in our future webinar as well. Thanks again and have a great day. Bye, everyone. Thank you all.
Key Points
The webinar focused on AMP site efficiencies, including performance optimization, configuration, and troubleshooting.
Dispatcher Configuration
- Importance of dispatcher in delivering performant websites.
- Key aspects of dispatcher configuration: virtual host configuration, domain mapping with cache structure, and regular reporting and redirects.
Rights Management
- Best practices: apply rights to groups, avoid deny statements, and avoid overengineering.
- Use of the Netcentric ACL tool for managing rights through a Yaml file, ensuring easy deployment and traceability.
Performance Issues
- Importance of identifying deltas in sync operations to avoid full cache flushes.
- Avoid large page operations during business hours.
- Simplify workflows to necessary steps.
- Be cautious with third-party system processes on author systems, especially with tools like ImageMagick.
- Avoid synchronized requests to third-party systems that can’t handle the load.
- Manage heavy custom components to avoid performance degradation.
- Monitor for long-running sessions to prevent segment not found exceptions.
recommendation-more-help
abac5052-c195-43a0-840d-39eac28f4780