 Good morning, everyone. I think my name is Agata Gruza. I'm performance lead at Intel. And today, I would like to talk with you about benchmarking. Why is it important and how to trust benchmarking number? So first, what is benchmarking? For many, benchmarking is just running single applications single time, but that's so much more. Benchmarking is an ongoing process of identifying, understanding, and implementing best practice how to improve performance. It's also the way to find limitation of your benchmark before product's going to be released. There are multiple misconceptions about benchmarking. Some of them on the slide. Benchmarking is too expensive. Therefore, I'm not going to do it. Benchmarking involves lots of work, and I don't have time for that. Management and people in charge of making decisions, they don't understand the benchmark. Therefore, why should I bother? I should only do benchmarking with the best. Our company is too small. And we do have some practice in place. It's working well. Therefore, I don't need benchmarking. All of that, it's misconception. And you should do benchmarking because making decision on benchmarking can impact your performance. And you make decision that can financially impact you as well. So how to build trust in the benchmark? There are multiple factors on the slide. They are the one that they are commonly used across all benchmarks. What you shouldn't do? You shouldn't use benchmark just because it's popular. You shouldn't trust numbers without analysis. When you run the benchmark, you should check the numbers. You should validate them. You should make sure that they are correct. You should make sure you test what you want to test. For example, you run benchmark that stress memory, but you want to stress CPU. You need to read the errors because errors can give you wrong conclusion. For example, you have a service latency one second, but when you dig deeper, you saw that all of this latency is due to the firewall. Therefore, benchmarking is fine, but you wouldn't know that if you didn't do analysis. Change only one factor at the time. Why? Because when you change multiple factors, you don't know which one actually impact performance. Some factors can increase performance, some decrease, and at the end, nothing change. But you don't know that. Therefore, only one parameter at the time. Make sure and keep in mind that sometimes benchmark have variability in data, and benchmark can have run-to-run variance. So just keep that in mind and double-check if that's one of your benchmark. Tuning benchmark improve your performance, but that's very broad aspect, and that's just another talk. I just want you to keep in mind that you should tune your benchmark. Also, define your number. Even if you want to improve your performance, you need to know how much actually you can. 5% is a doable, is a 10x doable. You need to know how much you can tune. And make sure that run is reproducible. Always because sometimes you need to reproduce the bug you have or some other factors, and from now you need to run benchmark again. I want to show you example. How does it look when you don't benchmark and when you do benchmark? On the left side is the image of the workload called Cassandra. All the information about that it's on the last slide. I want you to pay attention to the two things here. The first is the green color on the chart. It's a CPU utilization in the user space. It's useful time made by CPU. And on the bottom throughput. Throughput is the main metric that each benchmark use. That's out of the box when you run the benchmark without any of the practice I mentioned. And on the right, when you use practice I mentioned. The green bar increased dramatically, and throughput also increased for 31,000 to 82, which is great. So all of this showing that when you trust your benchmark, you do the right analysis, and you come up to the right conclusion. Takeaways, don't assume benchmark running out of the box, and don't assume that what you run is correct. Always validate. Always do analysis. Make sure you take benchmark that suits your needs. Change only one parameter at the time. Make proper tuning. And the very last one, CPU utilization does matter. Thank you.