Employee Center Academy: Manage Portal Performance
[Music] n [Music] [Applause] [Music] [Music] oh [Music] w [Music] [Applause] [Music] hello everyone and a very warm welcome to another interesting session for employee Center Academy this is part of live on service now series that we do every month and this is SMY Gupta outbound product manager with unified employee experience team we do this employee Center Academy sessions every month where the product team and the engineering team uh provide you a feature Deep dive um and Technical guidance how to deploy a particular functionality on employee Center and related capabilities in our previous sessions uh we have in uh covered topics like employee news U experience feedback design techniques uh multiphase deployment strategies and more you could see the link on your screen and uh access all the previous session recording on this particular link and updates on our upcoming coming session as well some ground rules before we uh begin with this session um so these sessions are you for you to interact uh please uh feel free to post your comments on the chat panel and please feel free to use the Q&A panel to uh U ask your questions related to this particular topic um we'll be conducting um couple of polls during this session as well so please please to interact uh uh during those polls as well uh to help us help you better U and U get the maximum insights from what you have been deploying so far and uh the session recording and slide deck uh this will be shared on community um the SLA is typically 7 to 10 days uh so U I'll be sharing the link on where you could uh kind of visit back for the slide deck and recording so uh today's topic is uh very exciting because we have been receiving uh um a loads of queries around how can we manage our portal performance or how could we optimize our portal performance so the topic for today is managing portal performance the agenda that we'll be covering today uh we'll be going over a very brief introduction about uh the portal performance uh what is it relevant um how can it impact your organization then we'll be uh deep diving into some of the portal blocks that actually impact your portal performance um we'll be proceeding with providing you uh best practice recommendations um that uh we suggest you to follow so that you could optimize the performance for your portal or keep track of it and find to tune your performance accordingly and um then then we'll be ending the session uh with the uh demo of the performance test widget and other functionalities that we have been talking about throughout this session um we'll try to cover the Q&A throughout the uh duration of this session um as well as try to reserve last five minutes of dedicated for Q&A so please keep those questions coming for today's session uh we have the Full House from our uh Tech Team here um so Rohan um he uh would be taking over the uh a presentation for this shortly he's joined by V Nishant Rafa and peush so Rohan over to you for your introduction and then for the session so hello everyone this is Rohan greting greetings from Santa Clara I am the of sov I've been with service now for a while and I'm excited to share what we have done with the portal performance and what what are the best practices around it uh and uh very happy to know what your challenges are and maybe if you can share them while you chat uh that'll be great uh so having said that maybe can I get some reactions on if you are a developer maybe could do a upward or if you are a uh non-developer do kind of any other reactions to start if that's a possibility on the zoom I'm not sure but let's see I know we have some reactions are not available okay perfect that's fine all right so let's get started uh if we want to go on the next slide so in this session uh we will be going over the portal performance uh next slide uh so the what we usually get when we uh are looking at cases is uh customers tell us that there's a poor portal performance uh the users who are using it are completely dissatisfied with the use of it and as a Content generator and employee Communications uh team in the organizations they say that the service delivery is not complete or it's inefficient and that's where we start looking into the instance and then we uh kind of identify problems and uh share that with the customers but what essentially we want out of the session is uh you guys uh should have some tools around it uh to do that yourselves and uh that's this session is all going to be all about U I know Rafa has raised his hand so Rafa you want to add anything else in this oh sorry no I was just it was a mistake okay not a problem all right yeah let's go to the next slide cool so uh first of all like what what do we mean by um the metrics of the portal like when you say the portal is slow what is exactly happening is it taking time to visually completely load on the screen what it means is uh there's a viewport uh the display could be either mobile iPad or any uh desktop is it taking the time to load on its complete viewport then there could be some other things like for for example if it's a fresh user or a firsttime user who's coming into the service now portal uh that's the metric that uh you guys should be looking at some of the other things are the repeat view in which like uh there are frequent users who go to the portal and they can come back again in that case they get uh the cash View and that time the loading is way quicker than uh the other scenarios and others last one is the fully load where the portal is completely loaded including all the asynchronous visits that uh we have yeah we can go to the next one so uh essentially when it comes to portal performance there are a lot of drivers but the mean ones are the content that is created by the individual teams or probably Partners developers anyone and the second part is what is the read criteria for example uh you have a content and and you have a targeted audience for that so there needs to be a read criteria so these are the two main criterias that could cause performance bottleneck as well and I'll go deeper into it as we uh proceed in the session uh next one please uh we have a question that we want to sh ask you guys so Smithy if you can start that poll uh so in in this there will be two questions one is uh do you guys is have a SLA that you ensure in your team as a team how much you in how much time you want to load the page and the second one is that met uh that's one thing that we' like to know cool you've already started getting answers uh and Smithy are you going to share that in like 30 seconds or something while sure I can do that yeah while you guys uh do this SLA is just the time it takes like as an organization or as a team you have decided that the portal should load in a certain amount of time and then uh the the other question is um are you guys able to achieve it so that's the other question so yeah we have maybe just let's give another 10 seconds to go and yeah feel free to put on the chat uh uh also as an option if you don't find any relevant options there yeah I think you can share the results so yeah as you can see uh if you guys can see the metrics less than 5 Seconds that's pretty good less than 10 seconds also and then uh what I'm seeing is uh which is also a good number 67% say yes so that's actually an great number and it's a great Insight because that's kind of very critical that if you have a SL and you're meeting that that's one of the success that you guys are kind of already achieving yep we can move on to the next slide and end up PO or share the if you're not sharing the results you can do that but yeah cool so uh just our overview uh some of you might already know about this but if you don't uh a portal is made up of the the header which contains the taxonomies the topics the quick links uh there's something called as a mega menu and inside that there is connected content uh the next thing is the footer after that water LS is the recommended for you vget if you guys don't know about it it's the vget that actually is kind of personalized uh based on uh what is popular what is what is let's say an article is being viewed uh uh it's a popular topic that's the one that shows that up my items that means the your requests your tasks and any action items that you need to do uh applications is the app launcher uh that could also take time uh then there are content publishing widgets uh you have the rich content Widget the featured wiget uh which is like the content experience or the hero wiget um there are quick links in form of information links uh and uh there are some uh list like with the last year we released a new feature news so there are some featured news uh news list visit and other things plus we do have some uh some of the visits as a part of campaigns so what all of these visits essentially do is they do some kind of a criteria check it could be a user criteria HR criteria there could be an audience check which is part of content content publishing which is an extension of the criterias it could also mean that the those links like for example example if you see the connected content sometimes customers do put knowledge articles as links so uh we uh while the page is still loading we do the we go through each an individual article link and see if that link is accessible so KBS cataloges and all are checked uh in again in some of them if uh you are using uh like non-scripted user criterias those are cached but if you using scripting to write your user criterias then they are not cached and then there could be some queries that could also be impacting so these are the portal side of uh the blocks that actually drive the performance of the page so this is something that uh everyone should have a look and re-evaluate is one of the things that we are saying yeah we can move on to the next slide unless uh uh V or uh probably uh P if you want to add anything uh you see any other blocks that I've not mentioned here or if you want to speak anything more on this all right looks like I've covered everything yeah move uh some more driving blocks so inside the content we do have some things like images we do have videos uh and those images could be uh bigger images like 5 MB images that's what we've seen sometimes there could be uh some content which is not paginated like for example in one or two instances when we had got a critical incident where an instent went went down and that's when the customer came to us saying that hey this is what is happening we saw that they had a list list wiet which was not not paginated even if it was ping pated on the UI by behind the scenes they were making calls uh and loading all 800 list items in that so that's one thing that can uh also cause performance issues and look at it as a p from the perspective of not just one user looking at it if you have some kind of an event where um there is uh lots of traffic coming onto the portal that's going to impact the entire system so that's one thing that you should definitely look at um longer side processing uh we have seen instances where uh people uh other the customers they don't have uh they they don't evaluate a server side script that is being written and for probably a window of how much uh how many records it needs to scan through and I'll show that in the demo as a part of one of the use cases client scripts uh and leaks so usually if there is a viset which Auto refreshes uh let's say there is a timer or countdown timer saying that hey it's going to uh it's going it's 10 days for the next uh company meeting or okrs are due in so and so hours those are kind of Auto refresh and they do they are making uh every call like periodic calls to the system and that like at least if you want something like that you could not use things like set interval which is kind of uh a memory leak inside the browser so that is one thing that uh is also driving uh the load of the performance um do we have any questions that we want to answer Smithy anything that is you guys want to answer live or something or should I continue so uh we have one question uh what items amongst the portal blogs that you presented uh in the previous slide taxonomies footer campaigns Etc are considered non-cached so it all depends on how the user criteria has been set and again caching only comes in picture when you are visiting the page for the second time inside that time window so that even uh if you're visiting it for the first time it's not going to be cached but uh anything that is uh using a not a scripted user criteria things like that are not going to be cached uh uh so that could uh be your problem all right moving on to the next slide please uh let's now we know these could be the problem areas uh the next set of uh the presentation is going to be more of how uh we can do some uh either developer side quick wins and uh some some of them some other others are content manager decisions are probably the team that is driving the content on on the portal those that those are some of the things that I'm going to go through yeah we can go on to the next and I do see some questions in the chat as well uh I'm just going through them yeah that was a question okay which we already answered so uh as I was saying before uh image size is definitely something that uh we should be looking at not only image size the the video content as well uh because uh we have seen uh we have seen uh images of five MBS or something being used on the portal yes those images look great but for the portal experience you might not need that much of size uh and there are online tools available that can can give us uh like that can optimize the image further the link is there in this so if uh those tools can bring down the image size to 1110th or even better uh actually depends on the image as well but uh image optimization is a must have if you are thinking of using a high uh density image uh that's one thing that you should be looking at the next thing which is really a quick win is uh like if you're using an image uh there is some uh a parameter called minus t and I'll show that in the demo so if you look at the URL that I've shown uh you'll see that you can pass those parameters uh in the imit source and that would uh also optimize it further uh when it's trying to download it from the server from the attachment uh the other solution is CDN we do have documentation uh for that uh so feel free to use that with uh on the content publishing side uh with the rich content uh widget with the latest release uh I'm I'm I think it is the Feb release if I'm not wrong if Raa is still around but uh with that we uh we have opened up uh the HTML edit on the rich content so uh you guys can go and set CDN Source in that as a option uh and we are still improvising on that so that's another thing to look at the next part is uh the third party libraries uh the options that you could definitely use because uh the platform does allow to attach third party dependencies in terms of fonts and other libraries that you want to use like if if I want to use a chat plugin or something a uh like a JS library that is there yeah feel free to use it but try to use the minified version because that is going to save a lot of time while it's being downloaded uh uh things to look at is U Can those libraries not be required on the homepage if you need the libraries can that be part of uh further down the line download download so that's another thing to look at like don't have um non-minified libraries uh as a part of this and we we've done a lot of optimizations in that uh in in the last year and a half where we also have done our minification of our libraries that we use on the platform from inside the portal uh use standard fonts Uh custom fonts do look good sometimes but they uh they take a lot more time to load the page so that's another thing uh server side processing uh as I said avoid using scripted user criteria uh or if it's it's the only option uh do uh check it for performance that's uh specific thing that uh we as a team should be looking at because uh it's like when you create content uh there's going to be thousands of content inside that homepage uh and every such content or item is going to use some kind of criteria so that uh needs to be evaluated so uh keep that in mind uh as I said earlier I try avoid using uh the countdown timers or any uh uh kind of periodic checks like score refreshes or something something like that that is going to take some time if you do want it create a specific page and have it there but consider homepage as your uh landing page and then that page has to be super optimized otherwise if it's taking like 15 seconds uh 20 seconds it's not going to be fun for uh the employees to come and join uh get on on the portal yeah we can go on the next one please so this is more for the content managers uh this is a specific Persona in content publishing but I would say this is not only for Content managers uh let's say you are uh you are owning the entire menu of the uh employee Center portal uh probably it is a very best uh like uh practice to evaluate the information architecture uh how much level of do you want on the mega menu uh are the quick links in form of uh the quick links widget on the homepage do you need 20 or 50 quick links on that are they more relevant or you could just uh uh use two to three quick links which are really popular uh the next one is uh dyn Dynamic typ topic microsite so uh I'll try to show that in the demo but uh we've seen instances where customers having homepages with like 8 to 10 quick links widgets and each of them uh that is evaluating uh some kind of a criteria again as I said uh but those are quick links which are travel related maybe benefits related and maybe they don't need to be on the homepage so that's another thing to look at uh there can be cases where you want to do some kind of task counting some approvals counting uh so uh [Music] we've seen customers do use uh some uh things like set limit which is a technical term to set how much data you want when you're quering so again reevaluate if you need th because if you just want to show 10 plus that could be a criteria that you should be uh definitely using because that's going to save a lot of time um I'll be also showing uh the rich content widget and how it can save uh the loading of the page uh and also optimizing how it can optimize the can reads to just one versus uh I'll also walk you through a use case that we had seen uh last year with a customer so uh I'll be showing that in the demo if we reach and if you have some time uh that's about this slide before we move on to the next one do we have any questions SMY or Brer V or V you answer anything or probably this is something we could address so a lot of our attendees are asking what is the recommended uh best practice for uh load time do we have any recommended SL for the employee portal load time and how can we go about checking this page load time oh that's a great question so uh yeah we um as such don't have any recommendation because uh we feel you guys own the content and everything what's there on the portal so uh but I would say uh the user uh gets distracted over uh let's say 5 seconds so uh that could be one of the things that you could look at uh as the loading time plus uh some other things so uh but yeah we don't have a recommendation on that because uh again it's your decision uh and uh but as as an employee I would love to have that page loaded within 5 or 10 seconds at a Max any other questions Mira you want to add anything before we jump on performance P any experiences that you want to share No Room okay Rafa anything good okay I have a point I see in chat someone mentioning about a script uh to identify any slow widgets on the portal I just want to address uh the fact that you don't need to use any custom scripts or go anywhere within the portal the admins have a widget available to them that's a performance indicator and once you click that it'll just list out all the widgets that are on the page and how much time they are taking to load so that will save you some time that's part of the demo that I'm also show yep thank you thank okay so the next question is uh I think uh we do have a question here Smithy so if you want to put that as a poll that'll be good but uh while you guys answer the question uh do you guys uh might have a good question like do performance test help uh I would say in most of the cases yes but it also depends on what you're testing and uh I'll be speaking more about that in the next slide but uh yes there are tools available to do performance test but the first thing is we know we need to know what's our success criteria uh yeah we'll give another 30 seconds to uh have people answer and we'd love to hear uh if you want to share uh what are the to tools that you use for performance test while uh this poll is running on so that if anyone of the audiences would like to use them that'll be an awesome Community share so uh feel free to share your performance tool that you use your experiences and then we also love to hear your stories of uh how uh you guys worked on the performance and how did your sles improve and that s so please uh uh share your uh stories on the chat cool I think we are ready for the sharing the results so uh 37% have already ensured that it's part of the continuous Improvement which is great uh We've see some of them saying every six months plan to do in the future awesome that's great so we do have that so that's very insightful to know all right uh let's move on to the next slide uh so uh it it's important to know what to test because that's how you are going to Define if a performance test was successful or not so let's say you you have a viset you're going with the a release probably in May or something uh and you anticipate there are going to be more rights than reads then I think you should just test rights not reads or vice versa if the reads are going to be more there going to be more reads uh the next thing is future uh you should plan for the future I would say one year down the line try to see uh if you are going to do any major event any new feature launches launch or if you see there's going to be a lot lot more traffic then in the future so this is the time actually you should uh do the test uh like 6 months before the release or something because that way you know you have time to solve them and then uh as I said it should be part of the continuous Improvement because that way uh when you are when you're launching a new feature uh it's part of that devop cycle um I have V here who is our performance uh Dev resource who does performance testing uh while we launch any of our employee experiences feature he and his team do a performance test and he'll share more on his experiences uh and and uh how we do those tests so over to you V if you want to speak yeah thanks one um so I'm going to briefly explain about the performance testing process in general for any application um so uh why do we need performance testing is the first question right it every team every company has QE teams everybody does functional testing and question is why why why is performance testing needed when when the application is functionally very stable right so the major reason for performance testing is when many people access an application how is it behaving right so is it impacting the end users is it impacting the servers so to understand all these things so performance testing is required to see whether the application is able to handle the load that we are expecting when many people hits it that is one angle another angle is when people are accessing the pages are they feeling happy right so let's say if I'm going to a page and it is taking 10 20 seconds 30 seconds usually I don't want to go again right so that's where the user satisfaction comes into picture so the because of these two criterias because of these two parameters so the par performance testing is very critical for any application which which we are using and the major uh steps to drive the performance test is these steps the steps mentioned in the slide first one is transaction modeling as part of transaction modeling we need to identify what are the critical business flows related to portal whatever the application we testing so I'm talking General so what are the critical business use cases involved in this application and then we need to understand uh also how frequently those flows are hit in production right so basically there are two citas what are the list of flows and second is how frequently they are hit and by how many users so these three parameters we need to create a workload model for performance testing and uh that's part of transaction modeling these three parameters are defined right so list of use cases number of calls per hour in the PE cover we have to consider the PE cover so that we so that we are making sure that the application can handle worst case scenarios as well right and in addition to this these three parameters data modeling is also very important so data what data modeling means here is what are the list of tables that is being accessed by this portal use use cases or application use cases and then how much data are we expecting in these tables down the line maybe one year or two years so we should always think futuristic as ran mentioned to be ready for the uh uh ready for the worst case scenarios and also address them we'll have enough time to address the issues as well so data in as part of do modeling so we need to populate the corresponding tables whichever the application is accessing with the right set of data uh what I mean is let's say for example if you take incident table right so we are expecting 1 million example let's say we expecting 1 million incidents over the one year period if all the incidents are in open State it's not realistic right usually it agents keep on working them and then keep on closing them so the right way to distribute them is maybe 70% 80% should be closed and then 20% 10% should be open something like this right so such distribution also be taken care as part of data modeling so the tables that are being accessed by the application should have the right set of data right number of rows uh which is based on the projections and also right set of distribution in terms of status and all those things and next after you we are Define after we Define transaction modeling which is workload model and also create the data I mean decide on the data how much we want to create how much distribution we want to create then the thing is where do we want to create so is it do we need a small instance do we need a big instance and all those things ideally for performance testing we should always test on in an instance similar to production right so if a production has petasis database we should also test the performance testing on petasis database if it has 30 nodes we should test on 30 noes instance ideally if you have an existing production instance I would recommend strongly recommend to clone it over another instance and then on top of it test the application new application deploy the new application and test it right so envir as part of envirment provisioning we have to make sure the performance test instance that we are planning to use should match similar should be similar to production and also several things comes into criteria here so basically number of app nodes number of uh I mean database SI size as well as number of read replicas sharts and there are some other parameters as well after these three are defined the next part is how to test it right so basically uh which tools do we need to use so here there are two kinds of testing people can do so one is in order to understand what is the user experience when portal is accessed right so let's say as an user when I access the page how much time it is taking so one of the uh uh one of the people asked the question same question in the chat so there are two ways to test it so here in service now we use tool called web page test which gives us the metrics that Rohan talked about in the beginning of the session visual complete times repeat view first view fully loaded time and so this we we are using web page test right for that whereas if you don't have that tool another way to measure is using the stopwatch so you use Chrome developer tool in in your Chrome browser and then you can use a stopwatch to measure the visual complete time first View and repeat view but fully loaded time it gives in the Chrome developer tool in the bottom there is something called load which which represents the total time taken by all the calls right so this is for single user when you are testing when you are want to see how much when there is no load on the system how much time it is taking or underload how much time it is taking so you can use these uh methodologies to measure the page load time next one is how to simulate the load that we are expecting in the production right so at part of transaction modeling we already assessed the list of business use cases and then number of calls per hour and all those things we we can use the tools like jmeter load Runner neoload these kind of tools to simulate those load so create those scripts and then simulate the similar load using those tools and then understand the instance performance by uh monitoring different U metrics in the instance right so if you have uh uh instance Observer tool available for you guys you can use that to understand instance Health otherwise there is a tool called service now performance inside the instance itself uh to use at high level when you are running the test you can live it but it doesn't store any historical data but uh in live you can see how is the Heap going on how is the semop for going on like there are several default metrics we are providing as part of service performance dashboard and also there are different tools available in service now instance I'll uh briefly explain each one of them so one is uh stats. do so stats. do give you the statistics on the connected node let's say you have 20 nodes and you when you log into instance it connects to one of the node right so on that node how many some being used how is the Heap and how is the schedu thread and all these things you can monitor it similarly if you want to go more details there is something called XML stats. which gives you some more metrics in detail uh and also uh there are some tools inside the core UI when you go to platform ui6 some people call it as ui6 or platform or core UI uh you search for uh slow queries uh slow trans slow transactions slow scripts all these features are available in order to understand if you see something slow so then go to these pages and then it will show uh if there are any SQL queries are running slow or if there are any business rules are running slow and U slow transactions so it will give you which which use which URL is very slow and also there is something called CIS loog transaction which is very useful when you debug the performance issues let's say you are hitting a page uh that page internally calling several widgets some rectangle calls or um some widget calls right so if you want to see the performance of each HTTP call you go to cisor lore transaction table which gives you each call how much time it is taking on the server side and also it gives a split of the total time basically it gives total response time and session weight Time semap 4 weight time SQL time CPU time ACL Time Business R time so using these metrics you can understand why particular URL is taking time and you can analyze deeper based on that and also there are uh some features for admin available uh like debug SQL you can analyze your sqls in detail which SQL is taking time and also there is a um uh debug all option where you can uh uh have more logging uh in the session debuger itself right so and what do we uh I I think I'm covering the last question last bullet point as well here so uh using these tools you can analyze your load test whether it is going well or bad and then based on that you need to debug using the same tools that I mentioned and then have keep tuning it's a life cycle right it's a cycle so you run the test and then find out what are the issues and then a debug it fix it and then run the test again until your SLA is whatever the SL defined in your company is Achieve so any questions probably goad uh so a couple of things that I would like to add is uh yes I I might show some of the tools while we doing this demo uh things to also look at is uh like I've seen several questions on SLA so just wanted to iterate an SL don't look at SLA as just a single user test to see how much time it takes but look at SLA as from a more performance thing where uh imagine uh like 500 users coming in because of a event or something and they trying to log in and that's where the SLA would be definitely more impactful so look at it from that perspective we don't have on on the plat on the platform we don't have a way where you can enter the SLA and then that SLA is met it's all about uh the content and uh the read roles it has so SLA is a kind of a uh expectation that you can set as a part of your continuous Improvement practice and I'll show how to uh measure that for one user as well from the browser uh also would like to add uh if you guys don't have that infrastructure if you don't have a team to do that uh service now does provide uh performance testing as a part of uh you know probably an added service so uh do reach out to uh the performance team and there is a knowledge article uh I don't know if I have the link right away but I can definitely share it uh as a part of recording so you could definitely reach out to our team and then uh get the performance testing done there was another question about cloning that I saw like if uh I'm cloning from production will I have the same noes no you may not but uh again you'll have to work with your account executive tell them that hey you want to do this performance test you would like to have so some nodes and the reason is like there's an event happening and we want to do that test so that's how you could reach out to and the account executives are very responsible around that so uh any other questions um Health Scan uh uh there's a will these results show up in our Health Scan uh Health Scan is probably a dashboard I'm seeing that there's another performance dashboard that we have on the instance which I'll show uh as we get into the demo uh yeah we can go to the next slide thanks V for this uh as I said before uh let's say you are anticipating a special event let's say uh intern joining the company new product managers hiring uh new early in the career employees joining or on boarding and you have an event I would say uh avoid directing that traffic to the homepage because the homepage has lot more visits than which are needed for those special events and I'll show you how that uh event can be handled using Rich content so try to see that those special events they don't really need to land on uh the homepage because homepage has myoactive items recommended for you the menus is going to be there but other things might not be really required uh for that special event so that's one thing uh and then if you have a big feature that you are planning to launch uh it's always a good idea to launch it with a smaller audience get that feedback and then add more audiences and phases so that way you can plan the load uh that's how usually uh we see with uh lots of companies doing these days like if you are a software company they also do not uh want all the traffic to come in all at once they uh have those CD practices where they would just launch it in a region or something so that's always a good practice that uh we should have in our release cycle yeah we can go to the next one please again the goal of uh performance should be that uh uh you should be able to identify the performance bottlenecks uh with the tools that we already spoke over and uh as a team we are always improvising and trying to see if we can give more and more tools to you so if you feel you need some tools please let us know uh in the chat and also there's a support uh idea portal uh that we on our support site so please uh put on your request both in the chat and there so that we can have a look at them we are trying to constantly give some more tools and abilities where you guys can do that uh evaluation yourself the other thing is uh try to set uh slas uh and then try to see like every new widget let's say you you building custom widget whenever you that's going to go live uh do a before test after set and see if it's meeting the SLA if not go back to the drawing board and fix that resource optimization is kind of a big thing uh that everyone should look at consider it as for in your complete release cycle and then all of this are going to help you in your continuous Improvement there'll be uh like more positive responses from the employee or the users who are accessing the portal so that should be the goal uh if you are a performance uh Team or someone who's owning the performance of the port we can go to the next slide and then if there are any questions that you guys want us to answer probably this is also a good time SM do you want want us to answer any questions or I think we are good to proceed with demo sure Rafa you want to add anything on the content publishing side any experiences that we had with uh some cases that we handled uh that is not covered here well yeah I guess in general as you have already mentioned right most of the times the cases that we have they they have to do with the scripted user criteria they have to do with too many evaluations due to um to granular I'll say setup sometimes or trying to meet a lot of use cases in in the same use case and trying to evaluate Everything at Once instead of just um basically partitioning the portal based on topic taxonomies but I think that you cover most of it okay cool yeah let's uh move on to the demo so what I'll do is also I'll grab the screen share but uh in the demo what we are going to go over is some of the tools that are already available some optimizations that we can do which are like a quick WIS on images or any media that we have uh we'll look at one of the slow server site processing uh we'll look at topic micro sites how to build those and uh what's the advantage big event microsite which is similar to topic microsite and then um pagination uh and uh things to look at for yeah so uh I'm logged in as Main in this but uh an admin would also have the same level of access so when we land on this there is a service now performance dashboard that you can use as your uh first thing uh if you want to look at uh there was an event that happened and there was uh you uh found that the uh instance was slow or if you're running a performance test we already have some of the uh data that you can use in the dashboard where you can grab details uh with the time span and then the nodes that you have so for example this is uh just one node it's a two node actually so you can actually grab uh the data uh from this so that's first help that is possible uh it does give a lot of information about the transactions and as V spoke about the S transactions and all it's trying to collect information from there and show as well so that's uh this is a very resourceful tool that's available the next one that I actually want to show is the U is the tool that barakar was mentioning so if you go if again you are an admin on the instance if you uh land on the homepage uh you'll see that on the um on the bottom left there's a timer tool like a timer like icon it's nothing but a button to open up the uh performance indicator so once we open it up it's going to grab all the performance metric on all all the visits that are there on the screen uh and it's going to get that as far as I know this uh does get data from all the uh out of the box widgets proper correct me if I'm wrong uh does it also uh get data from the custom wigets uh yes it will get from Custom wigets as well yeah perhaps I'm yeah I'm yeah as you said uh it also tells that a widget is customized or not right is it beinged or so these are some good stats that you can definitely get the if you uh as a developer if you want to see how much time a page is taking to load uh you can definitely make use of the Firefox or whatever browser you're using uh they do have a good set of tools so if I just hit refresh it's going to tell me how much time the page took to load uh uh some of the things to look at is there'll be something called as SP page you could look at so this will tell you it uh it took 1.9 4 seconds to load then as V also mentioned uh we uh uh the these are all the visits individual visits and they make make a call to server to get the data so if you want to look at a particular widget uh if you know it or if let's say there is a widget which I I might show up in this demo which is taking a lot more time we can uh try to see how much time it's taking so for that uh let me actually start with the slow server side demo so I want to impersonate as a user uh in my system it is so Emily is a manager and she is impersonating in the instance so once she goes to the hom page let's see what is happening so as you can see the page is taking a bit more time to load uh you'll see those dots running in uh and you'll see that the calls are taking a lot more time than uh as you saw before uh true because admin would not have for one uh because admin will not have targeted content to them so it the admin page is load going to load faster but there are going to be other things that are targeted and there might be some issues with some of the widgets so as you can see the page is now loaded uh you might want to see first thing is you if you want to see if there are any visits that are causing any slowness so you could just uh filter in uh say a rectangle so it's going to get in all the visit related calls and it's going to tell us how much time each of them is taking and then you could use some sort parameter as you can see this uh widget is taking 18 seconds which is very interesting so that is one thing that you can definitely look as a single user test hey why is this wi taking uh 18 seconds uh so if you look at uh do a deeper dive uh in the viset uh one of the problematic widgets here is something that I already know so this is there is a report pending task so what it does is it actually em as Emily is a manager it actually scans for Emily wherever she's the manager of a resource and for all the reportes of Emily they going to go it's going to go find uh Records which are pending as a task in the task table so uh let me stop my impersonation and let me show you what's happening so I know I already know that there is a slow user criteria and I've actually done it for simulation so uh this is what this is doing is whenever a manager like Emily is signing up it's going to uh scan through all the uh users who have their task all the repor is and their task so one thing to look at is uh yes there is something called a set limit which must be used in things like this but as you can see here we are setting a limit of th000 and that's really not required on the portal so that's uh that's one thing that you can go and quickly fix so again this this query is just a sample uh we should not be doing a query like this on the task table to be frank because task table you'll have lots of reords but if there is a requirement then at least use set limit and be wise in setting what limit you really need so that things like this are really going to uh like speed up the performance so uh once you do fix that the page is going to load faster in terms uh the page load that's going to happen that is one thing uh I think we running out of time I just want to quickly go through some of the other things uh let's look at uh the image optimizations that we can do so as I said we did a feature where we can uh edit the HTML code and if you look at this uh there is an image that we using uh in this we can just say t equals to small and what it will do is uh it will I think I messed up something let me see what did I I don't need that let me fresh it but uh yeah this always happens when we doing demos but uh it should work uh when you add T equals to small it should definitely uh get a small thumbnail instead of the large one so that's one of the optimizations that's possible if you're using iframes uh do use lazy loading so if you're using Rich content it does lazy loading for if frames with video uh by default so that's an advantage of using Rich content so do uh have a look at it the other things to look at is when you are loading the iframe you should always not autoplay to save the time uh to load that's another thing uh then let's look at the big event kind of a thing so if I impersonate another user let's say able tutor I'll I'll give an example of that where we are loading the homepage for them uh let see so you might see that for a user like able tutor yes uh you see that there are we've seen this in the live scenarios as well like there are list that are loaded and those have like 20 30 uh information links and what is going to happen is for all those links we are going to do a user criteria check that is kind of not required instead uh what could happen is uh in in this case it could be just a topic microsite that you could build using Rich content and you could build this uh Rich content where all of these list are just going to do one user criteria check so that's going to save a lot of time for the page to load so that's another thing and then a big event like this uh maybe an all hands or something where you have all the employees joining in you could just create a page with the r content the page which I just showed you it would have some uh imageries and then it would lazy load the widgets and have it would still have use the same CSS theming because it's a page part of the portal and you could also give some links to that so events like this would definitely uh be uh resourceful uh I know we are almost at time but the last one that I actually want to show is because there are very common use cases of custom visits so let's say you have built a page which is very similar to this and you have a list widget so uh ensure that the list widget is using pagination it's making the server site calls to just get initial content not like all the content and then you just rendering part of it so that also is very critical when you are doing building your custom wigets and having to only render what is the must uh I think that's probably it uh if you can show up the slide one more time uh Smithy uh if that's okay we might just go a minute y yeah so we do have resources on the uh on the slide and I will uh if you have any feedback do let us know we will try to get it on our uh community site as well and add those resources so uh some of the things that are already there on the resource in the internet I've shared that and then some of the tools that are available so yeah having said that I think uh we appreciate you guys being here uh and then uh listening and then sharing your experiences thank you so much
https://www.youtube.com/watch?v=vcNUxkO0N6o