Microsoft Power BI: Premium capacity – why use it how to plan for it evaluate your – BRK2046

All right Good morning, my name is David Meghaa, I am a senior program manager on the podre team. I focus on making cream, a better platform for everything that needs to support so we’ve seen some awesome announcement yesterday and today about really cool features. Some of them are supported only in premium. Some of them are better with premium some of them are the ultimate thing things sliced bread on premium and The nice thing about this is that with great power comes great responsibility and I really wanted to have a slide with Spiderman, saying it. But I can’t because of copyrights. So I’m just going to say an the focus of decision is to kind of provide just a bit of highlights about what the great power is an at the same time give you an understanding of what great responsibility means becaus And there’s a lot to it now, just a show of hands. How many of you were lucky enough to attend the workshop yesterday by mean Swae Lee So there is some overlap between the 2:00 fissions and it’s really hard to stick it all into 60 minutes like we’re going to do it here and this is what is more content over there, but I do cover more stuff on this session and so it’s really? Great that we prepared a related sessions slide so you can take the slides with you at home. An know that when you read this you should be other slides and it’s more reading so at least you understand Association, but so Now I’d like something from yesterday. Please keep it in the audience Don’t disturb wanted Joker it. So I want everybody think about a movie for 3 seconds. We do one thing. The movie now think of another movie What movie do you think about? Very good OK remember the first thing that the banking Exactly what song is this Your life exactly are you familiar with the content OK, so this is the previous capacity lion. He is a friend of the paginated reports bear if you guys on Twitter. There are good friends. The lion is stronger than the bill. Of course be cause. He’s looking into the animals now Now I don’t think you can Ah So we’re gonna talk about is basically why choose premium happy meme works in a nutshell an A lot about something new that we call E map or the circle of life. This is the circle at 4:00 PM capacity. It has 4 major steps that you constantly need to kind of undergo to make sure that premium keeps working and functioning the way choose So it’s evaluating adapting the content Touch about in a in monitoring and Prevention Becaus. We talk about them. In a bit more length in the other session that I had yesterday So decisiones basically around these pieces of of the circle of life Then we just went up and dips and hopefully we have some time for Q&A. If I could do this 30 slide that I have for you So The line But why choose premium you about to renew your enterprise agreement or you get a new one or we never well. Microsoft shopping you wanted now you choose premium, not just get pro licenses for everybody How do you know so partly premium is an awesome platform it has 4 main pillars that it provides the first one of which is the flexibility to license by capacity The basic economics of it is that if you have 405 hundred or more users. Then you better off having a premium or capacity than not having it capacity ’cause it’s just more Canonical So that’s simple there’s greater scaling better performance with premium that is obtainable that is fairly mean that you’ll get there. It’s really depending on what you want to do with it, you get the support of other datasets. You suppose it’s part of more frequent 3 fish is you have incrementally fish is which provide you faster. Refresh is for large datasets have aggregations with allow you to query Infinite sizes of datasets basically based on the spot clusters and query caching for really fast, rendering if we are unifying a lot of the concepts from the set of service be our world and the enterprise by world. Obviously, you heard about Paginated. Necessary supports that are GA since yesterday. The classic centralized by feature available only in premium AI and predictive analytics, pervasive, but much more capable

In premium where you can run larger skills. There is flows and have passed more frequent. Refresh is for data flows using these functions Programmatic access Do your part by content when XML a end point that is available on premium only right now. It’s a read only preview in the future would be we N right and a lot of enterprise grade compliance features so we when we disclose bring your own key yesterday block forces. Gonna follow shortly where you will learn more how to actually turn it on. We have multi Geo capabilities right now that are there GA the few months ago Together, there’s a real suite of features that allow enterprises to meet very strict regulations and compliance requirements. No matter where the data needs to reside. The no matter where the what types of of of encryption or added measures. You need to have on your data once it’s in the cloud probably can achieve it using features only available in fine, probably I premium so if you have with compliance requirements him is definitely something to consider No And we extending on premise and cloud with premium where we are provide obviously licensing both API report server and premium capacity in itself is a dedicated resources in cloud where you are not sharing any of your processing or data storage with any other tenant Coke and Pepsi do not live together. Neither does any other competitor that uses the cloud is anybody, even colder here because they don’t plan to Right so let’s provide a bit of background just delivered said everybody how what’s taking resources in capacity so there is a you by basically V Corps nor V CPU. The cores on appearing capacity are sharing their Cycle the time slots with all of the operations that the capacity needs to do and so that means if you have 3 running reports that I need to run at the same time, the CPU cycles will be shared between rendering 3 different reports. It will process 3 different datasets. One other one at a time of 9 if I have 4:00 calls that That’s basically distributing the I could have one corpus Memory memory is required for hosting the data model themselves basically loaded into memory so that’s something the CPU can read off something it doesn’t read it from disk that’s why it’s so fast. It’s required for Being a scratchpad for the calculation that your data models have so that’s expressions in power. BI reports can be fairly complex. They need to take some rose takes tomorrow is multiplies them join them on those fancy stuff this had needs applied memory as well and is In comparing comparison to hosting data model, which is very predictable mean once it’s in memory, then that decisive data model. This is rather unpredictable because it’s very much associated with whatever you’re the people writing reports in organizations wrote is that expression so really, really hard to understand in advance. How much memory will this expressions required and so, if I have 3 reports running on our rendering in my capacity. I need to host three that is the data models And allocate some room 4. Three operations at the same time, each operation space kind of dependent on whatever was written on a part by report Sorry OK so beyond CPU memory, we have Limits and in caps that are embedded into the capacity and the reason we have limit is because we we capacity is optimized render report and becaus RBI allows you to perform 2 types of Maine operations, which is forming queries or rendering stuff and forming. Refresh is and we don’t want the references to ever kind of Trump. Everything and so we limit the amount of concurrent refreshes apparel refresher that capacity can run based on the size P1 can run 6 at P2. Convert 12 N. AP3 can run 24 at the same time now that doesn’t mean that In 6, is not enough, it means that it’s just if you. Refresh is take 10 minutes. You’ll be able to run 6 with this is that they’ve 10 minutes, 6 times during an hour. So it still gives you a pleasure refreshes space. It just means that at the same time. Some refresh is well. If everything is scheduled at the same time in some reflexes might wait for others to finish before they kick in and that can generate some phenomenal. We’re going to see talk in more depth in the previous sessions, but basically the phenomenon

Franciscan wait sometimes they wait, too much be cause the because people have scheduled their if wishes or the same time, and then some. Somebody was eventually not content with the factory pushes with so This is one limitation that is very frequently being kind of observed and misunderstood so it’s very important to kind of level set that the other limitations that we have is of course, the amount of data in memory is cap based on skew so All of their reports loaded into memory on a power back up in capacity take uh no more than a 25 gigabytes on a P1 or 50 years in a P2 or 100 and P3. This is not the capacities ability to host report you can publish 100 Terabytes worth of data on team capacity. It just means that all the report that can be rendered at the same time need to consume no less than 25 gigabytes Now you can Achieve reporting of a larger amount of data regardless of memory using features like aggregations where some of the reporting is done over data not loading the more it stored somewhere else on a on a spark cluster And things like that, so it doesn’t really mean again a data cap. It just means amount of memories somewhere limited And the way we the The thing that probably introduces imprim capacity that never existed before in uh In product like a nice services is actually evictions so with a 25 Gigabyte Memory If we see memory pressure, we take the least frequently visit report and we take it out of memory and we bring the newly requested the report into memory so that you guys can basically render it. That’s how we 25 gigabytes will actually achieve a lot of kind of Availability even though The sizes of data modeling airport on this could be a lot larger than we have So 4 divisions take time we need to dump stuff back to disk read stuff back from the disk or them into memory. An all of these things take time and they may slow the capacity down slowly operation of rendering down so we don’t want it to happen too frequently. But if it happens. It’s it’s a by design feature. It’s perfectly OK. I mean, it just means that you, you reach the point where we need to take something out and need to put something back in If it happens, too much you need to reconsider so we talk about what too much means exactly How did this thing look on administration? If I had $100 to watch 25 gigabyte, memory on the P1 with 4V equals 3 datasets are lonely into memory 3 ports are being rendered right now in viewed by by users Capacity is kind of cool and everything hasn’t room for growth and it’s great Eventually it got to a point where all 25 gigabytes will filled up with 6 datasets And the 7th datasets want to come along the least frequently visited datasets is our datasets 2:00 and 4:00 and basically the capacity flags them as a vegetable so it will now Victor is it bad to back to storage and load it. If it’s 7 in its place, and great. We have room to function. Now it’s kind of a more warm capacity, but still functioning very well and by design mean nothing is slowing down too much. Everything is great now, what happened in the refresh is As we say we have 6 parallel. Refresh is if 6:00 or running in the 70s. You want to want to run. He waits, he waits in the waiting area. Or she I don’t know the refresh is a he or she They wait in the waiting area and Wait, for basically if you wanted to complete them once they complete before 7 physics lot and everybody’s happy so This concludes kind of the level setting please. I’ve Really went fast through it becaus of interesting time are there any question that somebody? Yep No there will benefits of power be, I in general, Azure Analysis Services

Is not really a SAS service? It doesn’t provide you? The value of the front end? So it’s kind of comparing oranges too Yeah No No no Yeah, so premium is strategically better than the national service That’s the the vision of human There was another one here Yep No, not so Yeah, so reports in power be, I are hosted inside workspaces and Users with free licenses can authenticate against power be. I fontaine service and you know use the service like anybody else. They can only see workspaces that are hosted on capacity on on payment opacities and they can see them through apps and so the app sharing model, the app publishing flow is basically the distribution mechanism inside a service for users with free licensing But Yeah, the works, but all content that that is consumed with free license needs to result in capacity that which means the workspaces need to be hosted with path Yeah, but that and then their limited like pro like regular productions like more than 1GB no more than 3% today Data and import mode is faster than that connection then Right Live connect is as fast on pro as it is on payment, it’s not different Yeah Difference I agree So there there’s a walkthrough. I’m doing for a memory scenarios, which you think is straightforward and that people don’t get so It the cap we are recommending is 35% of the Data set size to be reserved for like operation that applies for the Dark Web is where we have no other rule of thumb. It’s very much related to what are the actual calculations? The limit per second of Fuck Yeah They’re not they’re not listed in the slide Because one related queries to the right query actually the one million row limit Are we playing you lifted? That’s actually Snip event, yeah, so this is a thought about that? Yeah There are few more with them In the West region we were told we run in like an old saturated data center. How much does data center versus how much data center affect premium capacities different regions So The skus for building capacities are mapped to certain machine types in data centers We are working hard to mask all of the data center. The Azure kind of data center limitations from Customers a premium you should not be concerned about it basically if we free support like a P3 on everywhere. Then we supported me through anywhere, and we find the means to achieve it Yeah, like my IUI your Azure account is telling you that not your power be. I cannot imagine Like Are you, saying who said it, yeah, Adam Saxon OK I hope I don’t get in trouble Yeah OK Interesting OK Anybody else when I saw her shorthand like It was OK So What is the timer? All right 35 thank you So let’s go back to the circle of life right And the first page of it is evaluation

Now If it’s trivial and skim through it, but if it’s not. I want to come through it. Let’s talk about evaluation. First of all we need memory for rendering the report. That’s memories like to load in the report into But all the data sets into basically right then we need memory for. Refresh is any report any data that we’re going to have in power. BI will want to refresh. Once a day once an hour or 2 times an hour. We don’t know, but we need memory free pushes it well now, what happens when we refresh is. We been up. Another copy of the data set and we load both into memory and so, if you happen to render report of that data set when it is being re 1st we use one copy and we did From the refresh on the other copy and when it completes we swap them and we don’t need the other cop anymore right. So basically we need twice the size of a data set performer rephrase an last but not least then we’ve operations. We recommend that would be 35% from both basically so that’s kind of the the The strategy to do the planning now question is how do you translate that into actual scenarios where you can go and do the calculations to us to each conclusion? I need a P1 and P2 and what we needed like morganization, but imagine a scenario where I have for reports And I have the data set size of each report be different kind aside. The first one, is half a gig second. One is 1 gig 1/2 gig in 2 gigabytes. Now the way to understand what later this, adding memory is not to look at the file size of the PBX support is to actually load. PBI desktop with that report and look at the memory footprint of a process called the MSMDS RV in your task manager It’s that’s basically analysis services engine running on your PBI desktop and the memory footprint of that engine is the same. But when you report is going to have when you go to the capacity that gives you an understanding of how much this is really requiring even before you buy people capacity So Now beyond the size of the report. I have a production workspace. Where is here for when the CX oh when the CMO and everybody will kind of look at the report and and and you know send us angry emails when they’re not refreshed or then it’s like Happy Meals when they are happy and you know So that’s a workspace probably so that that has a copy of the report Of course, there is the BIT that keeps developing and testing knew report a new version of the airport in new measures in new visuals and you relationships and they keep messing stuff up and not missing stuff but these guys need their own workspace and they want them to not interfere with what this year for was looking at so we need 2 more copies of everything probably just to get things running that give us kind of this kind of a 12 instances mapping of these report Now Requirements usually refresh frequency is strong requirement in an enterprise environment. So I imagine production workspace being being the CFO requires data to be no older than 2 hours old and so well with which is a day would be would Suffice. Basically, the for the others are basically developer developer driven so they kind of ad hoc report. You don’t know when they are being refreshed because it’s going to be referred to in the developers are going to fix them So The production workplace of course needs to be hosted into memory be cause. They see the executive team is looking at reports Then in the worse case scenario. We are going to have to load both the test workspace and they’ve worked with content just for viewing right be cause. It’s it’s now 10:00 AM and everybody’s in their officer. Then there working and just that alone means we need 12 instances of reports loaded into memory right now We need to examine the worst case scenario would understand what? What do we actually need here? So let’s take a case with all of 4 reports are being refreshed from in the production workspace and that happens every 2 hours right so that gives us like the mapping here is that this was 15. Gigabytes is about just that piece for that mentioned out just doing the math. On on memory wondering memory for important ring. We get the 15 Gigabyte of a memory requirements right now, considering refresh is The production workspace will be need to load into memory with this separate instance, all at once so that gives us another extra 5 gigabytes and we already at 20 right now, picking the worst case. The 2:00 larger ones would be load into memory as well, which is for instance of D and then you have one see an together they already bring us to 5, 1/2, Gigabyte and that basically pushes us beyond the P1 limit now we’re P2 so

Basically, that’s saying we’re gonna have 25 1/2. Gigabyte memory requirement and that would be only met only by P2 now and we said all of that We can conclude that with a P1 if we choose to go with the P1 will be able to work with the memory. We have for appointment to bring but for refresh is we might Wait sometimes now this could be resolved that Everybody’s OK with mean you can choose to be OK with me first wait times. It just but we need to be a a mindful decision that you may can you communicate but nobody is expecting refers to work like more frequently or better than it can on the P1 now but we didn’t do right now is we forgot about this guy and so even if we do all the calculations and we think we good enough with the P1 If you start amassing 35%, headroom that is recommended and that’s basically a ballpark estimate because it’s very much dependent on the good or bad. Dax expression that you organization can can right Then that is not cutting it anymore and that pushes you over layers from P1 to P2 and so this is an example of how to perform have? Thorough and basically production ready passively planning of memory and it’s something that most premium customers Don’t do very well at the first iteration and then they found himself hitting the the the limits sooner than they thought then that’s what driving it misses not considering all the scenarios. It’s very important takeaway kind of 2 Internalize the workflow yeah Surrendering click presidents on the time and such that you we will even pause refreshes if memory pressure is high an the rendering requirements are just keep coming for various datasets and we we show that in the previous session as well. In this animated workflow so you kind of look at that Another question No Almost impossible to answer question So No, you’re using it in parallel 100 gig But Yes, at the same in both of the different parts So we didn’t choose What counts as a data set so a PBX? Is mapped to a data set? When you publish into power? Be I? The various users using the same PBX are all in one data set OK, they can even get different result in the data set has a row level security. In it doesn’t mean that we’re multiplying data set. It just means we have padding differently for each 1 right That is rendering, but that if you have 100 users 100 megabyte report and they’re all in the same report at 100 megabytes of Memory. So if you have multiple reports in the same data set that date like a sort of one time No The only reason we copy it is when the when the when there’s a refresh That’s when we multiply this Yes, yeah, so far full refresh. We keep it online. So I can still be query, which means there’s 2 copies of it if you’re doing fool And then once it’s done there. The original copy is replaced with a new copy And that double copy goes away. You do, incremental refreshing we have enough memory for the incremental load now. So we, we, we were showing that this second basically touching on how to improve this statistic Somebody’s Quick question little flows have? The container that their compartmentalized, the default container sizes. Several 100 megabyte and that’s basically the memory footprint of a single data flow or the Max member we would have a single data flow when it up when it commences

You are able to set the overall amount of memory that dataflow process can consume so that default value. Today is 5. Gigabytes 20% from P1 and that means you can run as many data flows that fit in a 4 gigabyte limit so if the containers are the 700 megabyte you get 5 right or with 7 sorry That that how dataflow works. I’m talking about that in a few slides as well Then and they take CPU as well. I’m touching touching out data flow of how other workloads Interact with the regular kind of power be. I work load in a second The continue so Yeah Much more difficult to predict is Willie oh CPU Meet the requirement that you need to do to meet And the reason is much more hard to predict Isba cause. You do not really know what’s going to be written in the airports in advanced and if you do know really hard to map it to like 4 calls on a back end, 8 calls on it back and how much do I need now instead of trying to? Say that in advanced we built and release for this convention is a low testing tool. We have the author of the main tool right here in the audience with us. We should feel very privileged. This tool is basically a set of PowerShell script that wrapping that rap A HTML file that I’m going to show you in a second so here’s my PowerShell, you’re not seeing the Policia Yeah, I see Thank The different shell OK So Just look at the content of this directory. We have a PS1 script called initiate load in HTML file an some jasons and we’d be dark if you go through that link that just sold it going to be a GitHub repository that let’s you get that into your machines. It is an unsigned script so you have to set execution policy on your PowerShell to be unrestricted We’re sorry but this is what it is, and just do a walkthrough, but it does right so My coordination loads and basically what I choose now is how many reports I want to run simultaneously while get from this tool is basically How many instances of? X reports I choose as a representative example of the load. I wanted test ball and run on my capacity in a time frame and it’s going to actually run from my machine. I’m limited by my machine because it actually needs to open browser windows, but don’t choose the the oldest laptop from your enterprise sitting on some this to do this do something with some memory in it. So let’s do it basically just for to report simultaneously. We have some nice concurrency into it You log in with the credentials You want Test for so basically you can choose to use the same report with different credentials. Then you actually test for all every security so you can basically mimic the exact scene? Are you talking about 100 times if you need to Good when I log in I get to choose from the list of workspaces and for this credential the reports. I want to test for so in this case, we have CW one in that an and P1 and EE 1P2. Those are 2 identical workspaces that exist in a P1 and P2 capacity to get a feel of the differences in in in number of cores and how it affects basically simultaneous processing So let’s get the same report from ball from both going to see it on screen The P1 first, there is a data set called fast Let’s choose fast Values, though But you need to pass next Is a set of values those values are filter values that the tool is going to cycle through and it does the low test the reason? We need to pass on filter values is because we if we won’t pass on filter values and power. BI is not stupid. It will just use its own cash to show you the report. And if things will increment very fast, but we won’t do any rendering every generate load or tested anything but we keep passing a different filter value from a clock cycle manner from these values to make sure reports keep getting up

Getting fresh and we never use a cash the query results So that’s was the first report. Let’s do the now the last prompt is how many instances That means how many different users are going to look at it at the same time? How many browser. Windows need to end with the same time, so let’s let’s choose 3 for this report. Will have 3 browser windows for this report. In in P1 more capacity Now went through the 2nd report for the exact same process only choose the P talk about it this time Me too It works versus called fast Yes Values and again let’s do 3 simultaneous rendering right Now observe what’s happening Do something Do something this windows do to get simultaneous different users you need to Use the tool differently now we’re doing windows And what happened to it Find a summary of the results you see 2 configured report path basically what happened with the tool is it dumps. A Jason file that the HTML file reads to populate these automatic. Refresh is just So information Not really quite understand what’s going on Now We have Chrome Browser Windows opening up 6 of them 2 Yeah OK News report You see the count on the top It’s getting incremented With everyone of the airport No, it’s nice Is you are going to see? Difference between the 2:00 counters One will increment a lot faster than the other and those are the P Twos. One basically right so see this here. I’m in 4 and here I’m into And This is why I’m going to go on and on and basically as time goes by the there in the counters will go further apart. Becaus one report. One capacity has more calls, so we can handle sometimes request faster now When I said cores aren’t used to run queries each visual here. His is a query on its own so when you see a report with basically each spinning value? Is is a is a visual so we have for spinning values each render is 4 queries are being sent to the capacity simultaneously. We have 3 windows, but that’s 12 query in an instance. Running against each capacity. Obviously, a capacity with 8 back and cores to run these queries will perform faster than capacity with 4 back and pulls the To that need to run the same load because at some point in time. The one with the four calls queries have to wait for others to complete an it happens. Less frequently people so you kind of seeing it against your eyes in real time Any questions about the tool you think it’s going to be useful in your kind of planning operations and basically level setting management to water the actual requirements of a premium capacity is Anybody who thinks they that you are very prepared now please raise your hand Are you going to mention SQL profiler? Actually we can. Thank you so good though? I just don’t have time for this Want to make sure you guys are aware your premium point you can connect the endpoint. You can connect 2 point, you can connect tool point you can connect to link to it. So I just SQL profiler. So all those queries are fully traceable. You can actually literally see what hitting the back end and you brought up our OS. You can actually see effective username as part of your request in the airless context. I’m sure on on screen right now So basically we can connect to the P1 right here right That’s the same credentials Then we are using fast now So I’m connecting now basically through XML, A to the fast data set on the P1

And These are limited trace events We begin quirion right If I pause them You’ll see The CPU time Again And we can actually scroll, it, you can see what the dax expression or the sequel expression What’s the duration of the query? Wants duration on the CPU and the difference between the two becaus queries wait more on the P1 because there’s another point is coming right in that difference would be less apparent on a P2 so basically we actually hitting the capacity and We’re not fooling around this is actually doing it now. Now the difference is like 84 on the P2 and 2400 P. One you see this coin growing Yeah Yeah, exist. XML is A is a XML just timer protocol and we brought we expose it important premium recently but standard protocols And other services You could use a tool against direct where we actually can you think? Thursday Make sure you stay under 30 queries per second. The 160 queries for seconds. P2 that is, we’re limited with no no. It’s more of a licensing requirement that you stay within those limits, but you don’t have to stay with them constantly. If you you can go a little bit above, but the idea is to to basically average below those 30 queries per second P one 6090 she’s keeps going up W OK. There is with the tool, not working so report, based on uh that query Yeah, yeah, yeah, so I mean, you can use the load testing tool to get a benchmark but you still need to stay below the limits that the people capacity has in general. You can spike potentially beyond 30. For example, but no in general, stable, author for testing your performance on your Directly resources to make sure your directory services actually handle that load Any other questions, I saw some great so That was the part about evaluating CPU We have more content to cover so bear with me Where? So Considering workloads there were question about data flows and that’s basically how it will come together Workloads are turned on by default right now, we have both data flows and packing reports that appeared and there on for all capacities They consume up to 2120% of the capacity memory by default unless you change that setting in the admin portal capacity settings page Each one of them individually in each process is allowed to consume up to 20% of the memory capacity now when they’re not active, they’re not consuming anything And What we did with the CPU allocation is we basically? Went with the guidelines of we prioritize for rendering Such that workloads that do only background operations get less guaranteed less CPU cycles in the workloads that perform interactive operation like rendering so pattern reports, which people render like they do. PBX report and operate at the same speed that the engine required for entering people X report does in data flows can’t so data flows can’t Trump. Basically, the ability to run the report even if you have a lot of them Running at the same time with really complex operations. Not basically the Guard was out of built into the capacity believe it was you who asked about data flows OK, so that’s basically how data flows an report rendering kind of interact data flows cannot if he the capacities ability to in the report. They can just you know consume a bit of CPU all the time, but not disturb it too much

No, they’re not they all use the same engine But the sooner the same cores to run the engines as a service is its own engin. PBIX is the different engin. But they’re all want to same CPU cause now there’s a bullet about over commit Which is what can happen if you Essentia Lee load all of the workloads with a lot of operation and everybody is working at their there 100%. But imagine you have 20% of SS service reports budget reports 20% of data flows and 100% of regular power. BI reports that will push you into 140% like so overcome it is possible And we allocate for a bit of it with our own kind of machine memory management inside that the the data center that we also but You can reach to a state when if you change kind of the default values of the the memory allocation for workload you will exceed our ability to kind of absorb whatever will commit you may have got itself into and in that position things may basically page to discuss some of the memory. You come with a pager discount appear in capacity and things might work slower than they used to so the capacity will handle it, but it was just slow operations down and it’s very hard to predict Which would work load will be the one that is going to basically absorb the more the slowdown but things might slow down so notice. The there’s a disclaimer in the UX of the capacity admin where we change memory allocation. If you go over certain values. You may bring yourself to a potentially Slower state But only under load That makes sense any question about that Wait Yeah Yeah, more clothes going to be off But then but then it will use a kind of Users cannot publish the workspaces on upcoming capacity a dataflow on RDL file that’s there I did a stration of how it works Forgot about their distribution No this is the So the purpose of the bear was to show that the pageant report birth and how the lion is taming paginated report there That was a joke Yes Yes You even should There are less capable So again each workload behave differently it is different technologies involved For President reports allowing less memory is allowing less data to be read in order to render pattern report and data flows it less simultaneous running data flows so the effect is less apparent in data flows and it is on target in port and but that is all based on technology and there were different colleges that make sense OK So With self service by scenarios, which is what you’re going to probably experience when you deploy power VI in new org. It’s very hard to predict what’s going to happen, there and we cannot do the centralized by VI cases that we didn’t for just before right so how do you know what you need you keep using the circle of life and the next step and it is to monitor now. I touch a lot about monitor in the previous session, an and I don’t want to do it here because it would be too much time consuming, but what I would do want to highlight is there is a pin capacity metrics app. It looks kinda like this. It has a tab for each workload and number of pages in each tab that let’s You understand for that for each workload, it to operations, which are queries and refresh is have ample enough resources to perform with a need to perform understanding kind of how to understand that there are ample resources for each is topic Its own and I don’t want to just steal all of your time’s going to go to the other session that we had yesterday. The workshop it will do that in much more dev and we even use the load, generating tool to kind of create interesting examples and look at their phenomenal manifesting in the metrics app. So we kind of see the the whole end to end I do kind of highlight some in bullets things you need to understand that you aren’t you know how to look for those in the metrics app so understanding query durations that you need to evaluate understanding the queries can wait understanding what the data set sizes are really are in memory when you look at the metrics coming from the app looking at we pushes away time and query wait times understanding when there’s too much of those all of these are discussed yesterday and there’s also very good

White paper available on the part by documentation that has a section called exploring real-world scenarios This section talks about and then I find these cases in the Matrix app So adaptation Optimizing content is super important because it means that content will consume less resources and will be able to scale data on power BI There are 2 very important question that happened in this conference when 11 and 3052, which will happen at 1:00 o’clock. Today they talk about you know real kind of 300 level walkthrough of identifying unoptimized cases and seeing the effect of them both in the metrics app an in like real life when you’re using power be. I than doing them. Gatorade process to make sure that these pitfalls Don’t you know consume too much resources Look at these sessions an and fully internalize them because that would be the the one of the key drivers too, for power. BI success or successful deployment in organizations now beyond just you know, writing good content. The number of features that are available Illuminating premium that will allow you to be much more efficient and you just just naively using probably a report for me their stuff and publishing them first one. We talked about incremental. Refresh in criminal. Refresh takes only the Delta of the data set that needs to be refreshed and load that into memory it needs to be configured Through the The The power power BI UX that that’s the UX that you see up here. You basically took tell it to like update the last week, the last day. The last few hours and that’s the only thing I get the link to memory and then we don’t need a full extra copy of the data set. That means that there’s a lot of less memory requirements on the capacity Take it allows you to allows you to keep allows you to require less queries. Becaus there’s a query caching is property of data set that you can sit only for datasets that are that reside in work with some people capacities And When you said it when you set it on then All of the first page visuals, which reports are being cashed. So it’s enough for one user to come in at 9:01 AM and all other users at 9:02 hundred 304 will see the first cash page and the queries will just never run the capacity so I really reduce your query count another side effect of this is that already that there is actually already in power, BI before we had crashing is’s are refreshed with the database are refreshed with the data set reflex are refreshed with the data set. Refresh and so basically there, you offload the queries to the time of refresh. Not at the time of somebody asking to you report so that gives you basically both control of when queries are done And voicing function to create less calories when you don’t really need them No one is sure that a certain certified datasets that was released a few weeks ago. That’s a new capability in power, BI both in in Sheridan Impro, an in premium That It allows you to basically have a lot less data sets with import mode when with with the naive approach kind of using power. BI desktop you will see often multiple version of the same report getting uploaded and then you know, there are sets are being copied in copying copy. But the same data set an all of these same datasets with loaded into memory by different people, an just consume resources unnecessarily from the capacity well. What should have happened was one data set loaded everybody in the same, so this is a another forcing function Will allow you to guarantee that people are using just one version of any data that they need to be poor and not multiple of those aggregations again, both on shared an prime premium great way to load a very thin layer into memory on the power capacity and have all the data required for reporting reside somewhere else in this case, it’s a spark cluster dashboard. I touched that when I talked about caching and allows you to offset the query load to do to a control time, which is the time of refresh

So Consider that and again this is as slow as I can covering this because I think we have time Now we know that For me, it’s OK So Adapting content is hard becaus. There’s 2 sessions to watch and a lot of features do it up Can you get help for it? Yes, you can get up we train partners on creating performance counter power BI app source? Which is how you get the beam capacity metrics up is it the way to kind of look for these a partner that can help you with the adapting content of their performance and have a link for it ready by the question is about prevention, which we covered in a bit more depth yesterday were introducing very soon and number of setting beyond just the In memory allocation for workloads in the admin portal for capacities. Those settings will allow you to control various properties of analysis services engine running in power, BI premium that can guarantee that Users performing out running bad dax expressions or an unoptimized content will not consume too much resources. For example, we control the number of rows that are required tonight and there was a question of it believe it was somebody. This area about do we limit the number of rows? Yes, we would now be able to limit the number of the query? Can return and somebody running the wrong thing could not screw everybody with a runaway query The direct query results that’s the Max intermediate result set size. That’s for direct queries default into a million you could change it up Or down as anything in that were the fact that we’re exposing is a new thing for pretty yeah It’s 3 weeks working its way through to production And so it’s an actual screenshot And we wanted to Holler confuse example. I mean, you know it. I guess but it’s nontrivial to map these to actually use cases. So you have the the kind of the the phenomenon. The left side of the table only in the right side of the table, the scenario and which setting will apply for it Will we releasing interleaving as well? We talk about increasing weight? So Yeah, there’s a in another session. We talked about a new setting that that’s gonna happen to which is called interleaving that will also allow you to kind of better fence yourself against Multiple users some of them have really bad expressions and the balance pressures messing it up for the other users So I have OK, the last slide. I have you guys take a picture of because we don’t just talk about it Yeah, I have a best practice becaus Supreme capacity is subject to the level of optimal content that you have there. There’s a best practice that we have recommended for a few customers that have met these challenges and it’s for the effective that practice is to basically have 2 capacities. So when we talked about production and development workspaces extend that idea to capacities and basically if you have a development Capacity where all of the organization can publish content to an kind of have the content park there an experiment and share it across and everybody is watching it, and it’s free licenses and it’s great. But then somebody that knows what they’re doing, and what to look for was looking at the capacity metrics app for that capacity encoder code approves report go to production that’s that somebody has is the only person with assignment permissions on the production capacity. They migrate to workspace for each works for each project From the development capacity to production capacity at which point it is safe to share with the CFO in the CX 01. CMO becaus you know that it’s you know running optimally. It’s not going to screw up. Others won’t screw up with it and it had like it’s it’s it’s it’s safe sandbox are running space so if any take away anything from this take away this best practice alongside all of the the techniques of how to basically Plan well and and Build better content and Just you know exercise those so that you are safe

Any question in the meaning of like the sword very important so at this point, you guys saw that you can stress the capacity in usually have this question. I have users on my capacity already why and how would I add an extra load and not take the unit offline do you do it on Saturday on Sunday, please be aware of this fact we have Azure Skews Ascues If you have a pro license and you go in your Azure portal, and you buy an ace. Q A1 will cost you $1.00 an hour Yeah, but I can squeeze 5000 renders and that’s not the limit as approximately 2 renders per second even with their queries or imported Yeah, but the don’t based on a pay one use Azure for testing using A4, which is a P1P. One so be aware of this, once you give them an idea they do it. Then there’s a lot of new ones. The difference is that if you test only one. It would be unrepresentative of actually running on a P1 even if you multiply the results slightly more Turn on for an hour test. It turn it off and you only paying for their own use anyone who is 8484. You said A1C Erase the term A1 from you Stop saying anyone Yes Yes, that that’s covered in the Matrix app so Well, you could just screenshots right now and you can use something that is called analyzing excel where you drop. Basically, the the the data set underline the metrics app within the specific in time that you’re viewing it and and create a report out of it. We will issue the metric share the metrics that very well. We will convert the metrics up to template up and that will keep all the benefits of an app that you could be able to do anything with that It’s hopefully in the weeks timeframe too