# Performance Engineering

"**Performance engineering** encompasses the techniques applied during a [systems development life cycle](https://en.m.wikipedia.org/wiki/Systems_development_life_cycle) to ensure the [non-functional requirements](https://en.m.wikipedia.org/wiki/Non-functional_requirement) for performance (such as [throughput](https://en.m.wikipedia.org/wiki/Throughput), [latency](https://en.m.wikipedia.org/wiki/Latency_\(engineering\)), or [memory](https://en.m.wikipedia.org/wiki/Computer_memory) usage) will be met. It may be alternatively referred to as **systems performance engineering** within [systems engineering](https://en.m.wikipedia.org/wiki/Systems_engineering), and **software performance engineering** or [application performance engineering](https://en.m.wikipedia.org/wiki/Application_performance_engineering) within [software engineering](https://en.m.wikipedia.org/wiki/Software_engineering)." - Wikipedia

## Books

1. Every Computer Performance Book: How to Avoid and Solve Performance Problems  on The Computers You Work With; [Bob Wescott](https://www.amazon.com/Bob-Wescott/e/B00C7CHP34/ref=dp_byline_cont_book_1)&#x20;
2. The Practical Performance Analys&#x74;**;** [Neil Gunther](https://www.amazon.co.uk/s/ref=dp_byline_sr_book_1?ie=UTF8\&field-author=Neil+Gunther\&text=Neil+Gunther\&sort=relevancerank\&search-alias=books-uk)&#x20;
3. Systems Performance: Enterprise and the Cloud; [Gregg](https://www.amazon.com/Brendan-Gregg/e/B004GG0SEW)
4. BPF Performance Tools; [Gregg](https://www.amazon.com/Brendan-Gregg/e/B004GG0SEW)
5. Performance Solutions: A Practical Guide to Creating Responsive, Scalable Softwar&#x65;**;** [Connie U. Smith](https://www.amazon.com/Connie-U-Smith/e/B001IQXC9Q/ref=dp_byline_cont_book_1), [Lloyd G. Williams](https://www.amazon.com/s/ref=dp_byline_sr_book_2?ie=UTF8\&field-author=Lloyd+G.+Williams\&text=Lloyd+G.+Williams\&sort=relevancerank\&search-alias=books)
6. The Art of Capacity Planning: Scaling Web Resources; John Allspaw
7. Java Performance - The Definitive Guide; [Scott Oaks](https://www.amazon.com/Scott-Oaks/e/B000APH2E2)
8. Optimizing Java: Practical Techniques for Improving JVM Application Performance;  [Benjamin J Evans](https://www.amazon.com/Benjamin-J-Evans/e/B07DGL1TM4/ref=dp_byline_cont_book_1) , [James Gough](https://www.amazon.com/s/ref=dp_byline_sr_book_2?ie=UTF8\&field-author=James+Gough\&text=James+Gough\&sort=relevancerank\&search-alias=books), [Chris Newland](https://www.amazon.com/Chris-Newland/e/B07L4YL11R/ref=dp_byline_cont_book_3)
9. High Performance Browser Networking: What every web developer should know about networking and web performance; [Ilya Grigorik](https://www.amazon.com/Ilya-Grigorik/e/B00CNKCS1E/ref=dp_byline_cont_ebooks_1)
10. High-Performance Java Persistence; [Vlad Mihalcea](https://www.amazon.com/Vlad-Mihalcea/e/B01N8PGJ7E/ref=dp_byline_cont_book_1)&#x20;
11. [Go-Perf Book,](https://github.com/dgryski/go-perfbook) Thoughts on Go performance optimization, [Damian Gryski](https://twitter.com/dgryski)
12. [Performance Analysis & Tuning on Modern CPU](https://book.easyperf.net/perf_book) - Denis Bakhvalov

## Blogs

1. <http://www.brendangregg.com/blog/>
2. <https://alexanderpodelko.com/blog/>
3. <https://www.codeblueprint.co.uk/>
4. <https://thomasdullien.github.io/about/#blogs>
5. [http://perfsherpa.blogspot.com/](http://perfsherpa.blogspot.com/?m=1)
6. <https://facebookmicrosites.github.io/bpf/blog/>
7. <https://www.igvita.com/>
8. <https://travisdowns.github.io/>
9. <https://pdziepak.github.io/>
10. <https://branchfree.org/>
11. <https://lemire.me/blog/>
12. <https://mr.gy/blog/>
13. <https://blog.stgolabs.net/search/label/performance>
14. <https://mechanical-sympathy.blogspot.com/>&#x20;
15. <https://easyperf.net/notes/>

## Twitter

1. <https://twitter.com/brendangregg>
2. <https://twitter.com/mjpt777>
3. <https://twitter.com/axboe>
4. <https://twitter.com/matt_dz>
5. <https://twitter.com/dendibakh>
6. <https://twitter.com/trav_downs>
7. <https://twitter.com/PawelDziepak>
8. <https://twitter.com/halvarflake>
9. <https://twitter.com/rygorous>
10. <https://twitter.com/DrQz>
11. <https://twitter.com/geofflangdale>
12. <https://twitter.com/lemire>
13. <https://twitter.com/tuxology>
14. <https://twitter.com/giltene>
15. <https://twitter.com/kwalfridsson>
16. <https://twitter.com/matthewwarren>
17. <https://twitter.com/perfsherpa>
18. <https://twitter.com/tkadlec>
19. <https://twitter.com/patmeenan>
20. <https://twitter.com/yoavweiss>
21. <https://twitter.com/MarkZeman>
22. <https://twitter.com/apodelko>
23. <https://twitter.com/JVMPerformance>
24. <https://twitter.com/PerfBytes>
25. <https://twitter.com/go_perf>
26. <https://twitter.com/fast_code_r_us>

## Links

### Aggregators

1. <https://github.com/meteorfox/performance-engineering>
2. <https://github.com/mfleming/performance-resources/>
3. <https://github.com/andriisoldatenko/awesome-performance-testing>

### Talks

1. [code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care](https://www.youtube.com/watch?v=WDIkqP4JbkE)
2. [Performance Matters](https://youtu.be/r-TLSBdHe1A), Emery Berger
3. [Latency SLOs Done Right](https://www.usenix.org/conference/srecon19asia/presentation/schlossnagle-latency), Theo Schlossnagle

### Courses

1. <https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-172-performance-engineering-of-software-systems-fall-2018/>
2. <http://www.perfeng.com/classic-site/seminars.htm>
3. [perf ninja](https://products.easyperf.net/perf-ninja)  and [challanges ](https://easyperf.net/contest/)- Denis Bakhvalov

### Linux

1. <http://www.brendangregg.com/blog/2020-03-08/lisa2019-linux-systems-performance.html>
2. <http://www.brendangregg.com/linuxperf.html>
3. <http://www.brendangregg.com/blog/2019-01-01/learn-ebpf-tracing.html>
4. <http://www.brendangregg.com/blog/2019-07-15/bpf-performance-tools-book.html>
5. <https://github.com/leandromoreira/linux-network-performance-parameters>
6. <https://blog.packagecloud.io/eng/2017/02/06/monitoring-tuning-linux-networking-stack-sending-data/>

### Websites

1. <http://www.spe-ed.com/classic-site/>
2. <https://sites.google.com/site/swperfengg/>

### Various

1. <https://en.m.wikipedia.org/wiki/Performance_engineering>
2. <https://www.alexanderpodelko.com/PerfDesign.html>
3. <https://developer.akamai.com/blog/2017/01/11/skills-performance-engineers>
4. <https://stackify.com/performance-engineering/>
5. <https://www.dynatrace.com/news/blog/trades-of-a-performance-engineer-in-2020/>
6. <https://opensource.com/article/19/5/life-performance-engineer>
7. <https://developers.google.com/web/fundamentals/performance/why-performance-matters>
8. <https://techbeacon.com/app-dev-testing/30-top-performance-engineering-leaders-follow-twitter>
9. <https://tangowhisky37.github.io/PracticalPerformanceAnalyst/2017/12/25/Six-Reasons-Why-You-Want-To-Be-A-Systems-Performance-Engineer/>
10. <https://www.keycdn.com/blog/https-performance-overhead>
11. <https://techbeacon.com/app-dev-testing/5-ways-learn-performance-engineering-skills>
12. <https://dzone.com/articles/skills-required-to-be-a-perfect-performance-engine>
13. <https://cloud.google.com/appengine/docs/standard/java/microservice-performance>
14. <https://www.researchgate.net/publication/313220433_Performance_Engineering_for_Microservices_Research_Challenges_and_Directions>
15. <https://www.hostingmanual.net/3-seconds-how-website-speed-impacts-visitors-sales/>
16. <http://normanmaurer.me/blog/2013/11/09/The-hidden-performance-costs-of-instantiating-Throwables/>
17. <https://pathtoperf.com/>
18. On the Impact of Memory Allocation on High-Performance Query Processing <https://arxiv.org/abs/1905.01135>
19. I/O Is Faster Than the CPU – Let’s Partition Resources and Eliminate (Most) OS Abstractions <https://penberg.org/parakernel-hotos19.pdf>
20. What Every Programmer Should Know About Memory <https://www.akkadia.org/drepper/cpumemory.pdf>
21. <https://www.nginx.com/blog/performance-tuning-tips-tricks/>
22. <https://blog.cloudflare.com/the-problem-with-event-loops/>
23. <https://www.datadoghq.com/blog/network-performance-monitoring/>
24. <https://easyperf.net/blog/2020/04/01/HW-SW-rules-of-thumb>
25. <https://youtu.be/Ho3bCIJcMcc> - Performance Analysis & Tuning on Modern CPU - Denis Bakhvalov.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kgoralski.gitbook.io/wiki/performance-engineering.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
