Anthony Saieva and Gail Kaiser. Binary Quilting to Generate Patched Executables without Compilation. ACM Workshop on Forming an Ecosystem Around Software Transformation (FEAST), Virtual, November 2020, pp. 3-8. https://doi.org/10.1145/3411502.3418424
Top Java Performance Problems and Metrics To Check in Your PipelineAndreas Grabner
Why is Performance Important? What are the most common reasons applications dont scale and perform well. Which technical metrics to look at. How to check it automated in the pipeline
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 PotsdamAndreas Grabner
As a Tester you need to level up. You can do more than functional verification or reporting Response Time
In my Performance Clinic Workshops I show you real life exampls on why Applications fail and what you can do to find these problems when you are testing these applications.
I am using Free Tools for all of these excercises - especially Dynatrace which gives full End-to-End Visibility (Browser to Database). You can test and download Dynatrace for Free @ http://bit.ly/atd2014challenge
OOP 2016 - Building Software That Eats The WorldAndreas Grabner
According to VC and web pioneer Marc Andreessen software is eating the world. Evidence proves he is right. Uber, the biggest taxi company, has no cars, AirBnB, the biggest hotel service, has no rooms and there are many more examples. Looking at these success stories there is a clear blueprint how to build software that eats the world. Just a quick heads up: It is not about building your typical web application any more.
Software Testing in a Distributed EnvironmentPerforce
Distributed development across countries creates both challenges and opportunities for the production of high quality software. We’ll look at new ways of achieving automation for testing software in a continuous delivery context, using parallelization techniques and automated analysis fully integrated with a reliable and scalable SCM system. A new optimal method of testing common code in similar branches is presented along with the semantic merging of testing results.
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Andreas Grabner
Do it like the "DevOps Unicorns" Etsy, Facebook and Co: Deploy more frequently. But how and why? Challenges?
Deploying Software Faster without Failing Faster is possible through Metrics driven Engineering. Identify problems early on using a "Shift-Left in Quality". This requires a Level-Up of Dev, Test, Ops, Biz
See some of the metrics that I think you need to look at and how to upgrade your engineering team to produce better quality right from the start
Four Practices to Fix Your Top .NET Performance ProblemsAndreas Grabner
Inefficient Database Access, Inefficien Pool usage and Sizing, Bad Synchronization, Bad Web Page Design - these are the problems that crash .NET Apps. Learn how to analyze them and fix these problems
Too many database queries, too much data loaded into memory, overloaded html pages, bad architectural decisions, ...
These are all reasons why Java Applications are slow. In this presentation - first given at Boston Java Meetup - shows 6 real life examples on why Java-based Applications failed - and you may even heard about this in the news.
All examples and the technical details were captured using Dynatrace which is available as a 30 Day Free Trial - http://bit.ly/dttrial - with an option to extend it for another 180 Days in case you share some of your results with us
These are the slides used in my #devone (www.devone.at) keynote presentation:
DevOps is one of the most abused and overrated marketing terms in the last years! That’s not an alternative fact! It’s just Andi’s opinion! Yet - it is a very real thing that allowed many software companies to transform the way they think about software engineering. DevOps can mean something totally different thought depending on who you are and what type of business your company is doing. To clarify things, Andi gives us insights on how he explains the benefits to “DevOps Newbies” and how software companies around the world implement it in their own ways. Andi will answer: What does it really mean for developers, testers and operators? What will change? How does Facebook deploy twice a day without big issues? How does DevOps work in financial, government or healthcare where you have tight regulations? Does it mean Devs are responsible for Ops? Does it only work in the cloud? Or can we apply it to “old fashioned” on premise software as well? Learn for yourself and make up your own mind on whether DevOps is just a marketing term or something that can benefit you!
Web and App Performance: Top Problems to avoid to keep you out of the NewsAndreas Grabner
As presented at Boston and NYC Web Perf Meetup.
Its time to level up Web Performance Optimization started by Steve Souders. We need to look beyond the rim of the browser as there are many problems happenig from browser to database.
In this presentation I showed how Browser Diagnostics needs to evolve into End-to-End Application Diagnostics and Monitoring. Showing 5 real life examples on why applications failed and the metrics to look at to identify these problems early on
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and ScalabiltyAndreas Grabner
This is the presentation given for the Docker Meetup in Cordoba, Argentina. Recording should soon be up on http://www.meetup.com/Docker-Cordoba-ARG/events/226995018/
Key Takeaways: Pick your Metrics! Automate It! Fail Bad Builds Faster! Deliver Faster with Better Quality!
To the Docker Audience my main point was that: Just adding Docker doesn't give you free performance and scalability of your app. I walk through many examples of failing apps. What are the metrics that highlight the problem and how to automatically detect bad builds by looking at these Metrics along your Pipeline.
Automate Application Quality Detection. Use Key Application Quality Metrics (# of SQL, Memory Allocated, CPU & GC Times, ...) captured during Automated Test Executions.
Let these Metrics act as Quality Gates. Leads to better quality software reaching the end of the Pipeline
Mobile User Experience:Auto Drive through Performance MetricsAndreas Grabner
Believe it or not - 85% of mobile apps are removed after first usage! In this presentation - given at the APM Meetup in Singapore in April 2015 - I talked about the challenges, best practices and especially metrics to avoid this situation.
Key Points of the Presentation
The two key trends "Internet of Things" and "DevOps" play a big role in our life when we talk about User Experience and especially mobile user experience. In this presentation I tell you what metrics to use to make sure you deliver your ideas faster to your mobile end users but also ensuring the right quality and user experience so that your users stay loyal and dont delete the mobile app after first usage.
Hugs instead of Bugs: Dreaming of Quality Tools for Devs and TestersAndreas Grabner
I have a Dream that Testers extend their horizon and toolsets and not only test for functional correctness but make a step towards what developers need in order to fix critical issues. I am talking about architectural, scalability and performance metrics such as # of JS Files on a page, Page Size, # of SQL Statements, # of Log Messages Written.
If Testers start to capture this information as well and share it with their bug description I am sure it will both increase the value of testers as well as reduce the total time it takes to fix problems.
I gave this presentation at the Sydney Continuous Delivery Meetup Group. The main goal was to talk about Performance Metrics that you should monitor along the pipeline. I examples in 4 different areas where deployments failed and how metrics would have helped preventing these problems
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineAndreas Grabner
Continuous Delivery only works if you combine automation with automatic metrics driven quality gates focusing on architectural, scalabilty and performance metrics.
In this presentation I start with several dashboard examples explaining key metrics in production and explain how to automate these metrics into your delivery pipeline.
The document provides an overview of key performance sanity checks for SharePoint, including 7 steps to check SharePoint health, how to analyze SharePoint usage, and how to identify slow pages. It discusses checking end user health, site health, system health, IIS health, AppPool health, SQL and service health, and web parts. The document also covers avoiding common deployment mistakes and provides a real-life example of troubleshooting a slow page load for a frustrated user.
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!Andreas Grabner
This is about leveling-up and REVOLUTIONIZING Testing as part of your Agile/DevOps Transformation.
You can contribute more than testing functionality. You need to Level-Up your skill set by understanding the apps you are testing. # Images, # JS Files, # SQL Statements, Connection Pool Utilization and Garbage Collection Activity have to be added to your portfolio.
Check these metrics when you do your functional testing and report regressions to your engineers even though the functionality is still good. But you just uncovered an Architectural regression that will lead to a scalabilty and performance problem.
Finding these problems early will eliminate a lot of wasted and unplanned time later on in the lifecycle. that is your contribution to delivering software faster with better quality
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015Andreas Grabner
Top .NET, Java & Web Performance Problems. Why these apps failed, how to avoid it and which metrics to look at, e.g: # of Busy vs. Idle Worker Threads, Connection Pool Acquisition Time, # Exceptions Thrown, ...
Ride the database in JUnit tests with Database RiderMikalai Alimenkou
For a long time DB related testing in Java world has been a real pain and most developers tried to reduce number of such tests as much as possible. With good in-memory database implementations like H2, schema migration solutions like Liquibase or Flyway, containerization with libraries like TestContainers, database management is now much simpler. But test data management is still a pain. Some developers use SQL dumps, others insert data via JPA/JDBC or rely on prepared data sets. Good old DBUnit may be a good option, but it is not so developer friendly and not adopted well for modern annotations driven development style. Database Rider closes the gap between modern Java development environment and DBUnit, bringing DBUnit closer to your JUnit tests, so database testing will feel like a breeze. In addition to flexible data sets management this library provides other useful features: programmatic data sets definition, leak hunting, data sets export, constraints management, etc. As contributor and loyal user for many years, I would like to share my experience with Database Rider and demonstrate how to make database testing a fun again!
If operations is a classic big data problem, cloud Operations is a *huge* data problem. We all understand the volume of logs, alerts and metrics generated by SaaS applications, and the increasing complexity of hybrid infrastructure, requires you to step up your monitoring strategy and just like any other big data problem – it only makes sense to leverage AI to achieve the observability imperative.
Taking into consideration the sheer volume of IT monitoring data that you have to deal with each and every day as DevOps, IT or SRE- leveraging traditional, reactive monitoring tools and approaches wont cut it much longer. Infusing AI is not about magically identifying and automatically solving all your problems, but given the criticality of delivering a phenomenal user experience for SaaS- you can leverage machine learning models to provide you with insights-rather than data- to not only effectively detect abnormal behaviors but also to predict potential issues, map them to associated services and help you intelligently prioritize preventive, troubleshooting and remediation efforts.
Building and operating a global cloud infrastructure at a large scale is a complex task with hundreds of ever-evolving service components. I am happy to share with you some real-world examples of how AI is leveraged at Azure Marketplace and Linkedin scale to monitor wisely, predict capacity and save costs so you can think how you can take it home, and apply it in your production environments.
Effectiveness tips from Kubernetes trenches by Captain ObviousMikalai Alimenkou
Nowadays almost everybody knows about Kubernetes, some teams are using it and some are only dreaming about it. Despite the popularity, Kubernetes is not simple and there are so many ways of abuse this peaceful technology. In this talk I would like to present quite obvious set of tips, based on failures and ineffectiveness at different companies I have worked with during last several years.
How to keep you out of the News: Web and End-to-End Performance TipsAndreas Grabner
Too many websites make it too the news when they fail to deliver, e.g: eCommerce when they go down on Cyber Monday, Tax Software on Tax Day or Online Banking when people want to check on their latest pay check.
In this presentation - presented at several Web Performance, Java, .NET, ... Meetups I walk through the most common performance mistakes people made in recent history. I explain in technical detail what the problem was and how to find these problems earlier as you dont want to wait until your site crashes and you end up in the news.
This presentation was given as part of a Dynatrace Lunch & Learn event. APM (=Application Performance Management) allows us to transform the way we develop, deploy and run software.
Here are some ideas how APM can be (r)evolutionized
Lightbend Fast Data Platform - A Technical Overview
Dean Wampler, O’Reilly author and Big Data Strategist in the office of the CTO at Lightbend discusses practical tips for architecting stream-processing applications and explains how you can tame some of the complexity in moving from data at rest to data in motion.
Too many database queries, too much data loaded into memory, overloaded html pages, bad architectural decisions, ...
These are all reasons why Java Applications are slow. In this presentation - first given at Boston Java Meetup - shows 6 real life examples on why Java-based Applications failed - and you may even heard about this in the news.
All examples and the technical details were captured using Dynatrace which is available as a 30 Day Free Trial - http://bit.ly/dttrial - with an option to extend it for another 180 Days in case you share some of your results with us
These are the slides used in my #devone (www.devone.at) keynote presentation:
DevOps is one of the most abused and overrated marketing terms in the last years! That’s not an alternative fact! It’s just Andi’s opinion! Yet - it is a very real thing that allowed many software companies to transform the way they think about software engineering. DevOps can mean something totally different thought depending on who you are and what type of business your company is doing. To clarify things, Andi gives us insights on how he explains the benefits to “DevOps Newbies” and how software companies around the world implement it in their own ways. Andi will answer: What does it really mean for developers, testers and operators? What will change? How does Facebook deploy twice a day without big issues? How does DevOps work in financial, government or healthcare where you have tight regulations? Does it mean Devs are responsible for Ops? Does it only work in the cloud? Or can we apply it to “old fashioned” on premise software as well? Learn for yourself and make up your own mind on whether DevOps is just a marketing term or something that can benefit you!
Web and App Performance: Top Problems to avoid to keep you out of the NewsAndreas Grabner
As presented at Boston and NYC Web Perf Meetup.
Its time to level up Web Performance Optimization started by Steve Souders. We need to look beyond the rim of the browser as there are many problems happenig from browser to database.
In this presentation I showed how Browser Diagnostics needs to evolve into End-to-End Application Diagnostics and Monitoring. Showing 5 real life examples on why applications failed and the metrics to look at to identify these problems early on
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and ScalabiltyAndreas Grabner
This is the presentation given for the Docker Meetup in Cordoba, Argentina. Recording should soon be up on http://www.meetup.com/Docker-Cordoba-ARG/events/226995018/
Key Takeaways: Pick your Metrics! Automate It! Fail Bad Builds Faster! Deliver Faster with Better Quality!
To the Docker Audience my main point was that: Just adding Docker doesn't give you free performance and scalability of your app. I walk through many examples of failing apps. What are the metrics that highlight the problem and how to automatically detect bad builds by looking at these Metrics along your Pipeline.
Automate Application Quality Detection. Use Key Application Quality Metrics (# of SQL, Memory Allocated, CPU & GC Times, ...) captured during Automated Test Executions.
Let these Metrics act as Quality Gates. Leads to better quality software reaching the end of the Pipeline
Mobile User Experience:Auto Drive through Performance MetricsAndreas Grabner
Believe it or not - 85% of mobile apps are removed after first usage! In this presentation - given at the APM Meetup in Singapore in April 2015 - I talked about the challenges, best practices and especially metrics to avoid this situation.
Key Points of the Presentation
The two key trends "Internet of Things" and "DevOps" play a big role in our life when we talk about User Experience and especially mobile user experience. In this presentation I tell you what metrics to use to make sure you deliver your ideas faster to your mobile end users but also ensuring the right quality and user experience so that your users stay loyal and dont delete the mobile app after first usage.
Hugs instead of Bugs: Dreaming of Quality Tools for Devs and TestersAndreas Grabner
I have a Dream that Testers extend their horizon and toolsets and not only test for functional correctness but make a step towards what developers need in order to fix critical issues. I am talking about architectural, scalability and performance metrics such as # of JS Files on a page, Page Size, # of SQL Statements, # of Log Messages Written.
If Testers start to capture this information as well and share it with their bug description I am sure it will both increase the value of testers as well as reduce the total time it takes to fix problems.
I gave this presentation at the Sydney Continuous Delivery Meetup Group. The main goal was to talk about Performance Metrics that you should monitor along the pipeline. I examples in 4 different areas where deployments failed and how metrics would have helped preventing these problems
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineAndreas Grabner
Continuous Delivery only works if you combine automation with automatic metrics driven quality gates focusing on architectural, scalabilty and performance metrics.
In this presentation I start with several dashboard examples explaining key metrics in production and explain how to automate these metrics into your delivery pipeline.
The document provides an overview of key performance sanity checks for SharePoint, including 7 steps to check SharePoint health, how to analyze SharePoint usage, and how to identify slow pages. It discusses checking end user health, site health, system health, IIS health, AppPool health, SQL and service health, and web parts. The document also covers avoiding common deployment mistakes and provides a real-life example of troubleshooting a slow page load for a frustrated user.
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!Andreas Grabner
This is about leveling-up and REVOLUTIONIZING Testing as part of your Agile/DevOps Transformation.
You can contribute more than testing functionality. You need to Level-Up your skill set by understanding the apps you are testing. # Images, # JS Files, # SQL Statements, Connection Pool Utilization and Garbage Collection Activity have to be added to your portfolio.
Check these metrics when you do your functional testing and report regressions to your engineers even though the functionality is still good. But you just uncovered an Architectural regression that will lead to a scalabilty and performance problem.
Finding these problems early will eliminate a lot of wasted and unplanned time later on in the lifecycle. that is your contribution to delivering software faster with better quality
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015Andreas Grabner
Top .NET, Java & Web Performance Problems. Why these apps failed, how to avoid it and which metrics to look at, e.g: # of Busy vs. Idle Worker Threads, Connection Pool Acquisition Time, # Exceptions Thrown, ...
Ride the database in JUnit tests with Database RiderMikalai Alimenkou
For a long time DB related testing in Java world has been a real pain and most developers tried to reduce number of such tests as much as possible. With good in-memory database implementations like H2, schema migration solutions like Liquibase or Flyway, containerization with libraries like TestContainers, database management is now much simpler. But test data management is still a pain. Some developers use SQL dumps, others insert data via JPA/JDBC or rely on prepared data sets. Good old DBUnit may be a good option, but it is not so developer friendly and not adopted well for modern annotations driven development style. Database Rider closes the gap between modern Java development environment and DBUnit, bringing DBUnit closer to your JUnit tests, so database testing will feel like a breeze. In addition to flexible data sets management this library provides other useful features: programmatic data sets definition, leak hunting, data sets export, constraints management, etc. As contributor and loyal user for many years, I would like to share my experience with Database Rider and demonstrate how to make database testing a fun again!
If operations is a classic big data problem, cloud Operations is a *huge* data problem. We all understand the volume of logs, alerts and metrics generated by SaaS applications, and the increasing complexity of hybrid infrastructure, requires you to step up your monitoring strategy and just like any other big data problem – it only makes sense to leverage AI to achieve the observability imperative.
Taking into consideration the sheer volume of IT monitoring data that you have to deal with each and every day as DevOps, IT or SRE- leveraging traditional, reactive monitoring tools and approaches wont cut it much longer. Infusing AI is not about magically identifying and automatically solving all your problems, but given the criticality of delivering a phenomenal user experience for SaaS- you can leverage machine learning models to provide you with insights-rather than data- to not only effectively detect abnormal behaviors but also to predict potential issues, map them to associated services and help you intelligently prioritize preventive, troubleshooting and remediation efforts.
Building and operating a global cloud infrastructure at a large scale is a complex task with hundreds of ever-evolving service components. I am happy to share with you some real-world examples of how AI is leveraged at Azure Marketplace and Linkedin scale to monitor wisely, predict capacity and save costs so you can think how you can take it home, and apply it in your production environments.
Effectiveness tips from Kubernetes trenches by Captain ObviousMikalai Alimenkou
Nowadays almost everybody knows about Kubernetes, some teams are using it and some are only dreaming about it. Despite the popularity, Kubernetes is not simple and there are so many ways of abuse this peaceful technology. In this talk I would like to present quite obvious set of tips, based on failures and ineffectiveness at different companies I have worked with during last several years.
How to keep you out of the News: Web and End-to-End Performance TipsAndreas Grabner
Too many websites make it too the news when they fail to deliver, e.g: eCommerce when they go down on Cyber Monday, Tax Software on Tax Day or Online Banking when people want to check on their latest pay check.
In this presentation - presented at several Web Performance, Java, .NET, ... Meetups I walk through the most common performance mistakes people made in recent history. I explain in technical detail what the problem was and how to find these problems earlier as you dont want to wait until your site crashes and you end up in the news.
This presentation was given as part of a Dynatrace Lunch & Learn event. APM (=Application Performance Management) allows us to transform the way we develop, deploy and run software.
Here are some ideas how APM can be (r)evolutionized
Lightbend Fast Data Platform - A Technical Overview
Dean Wampler, O’Reilly author and Big Data Strategist in the office of the CTO at Lightbend discusses practical tips for architecting stream-processing applications and explains how you can tame some of the complexity in moving from data at rest to data in motion.
Este documento presenta una lista de concursantes para una posición de maestro de educación especial en Montevideo, Uruguay. La lista prioriza primero a los maestros con efectividad en el área y especialización correspondiente, luego a aquellos con efectividad en el área sin especialización, seguido por maestros efectivos en común con especialización, y finalmente maestros efectivos en común sin especialización. La lista incluye cuatro candidatos, con la candidata María Jacqueline Lasserra Vázquez teniendo antecedentes calificados para el cargo
El documento describe los beneficios del chocolate de cacao para el estado de ánimo y la energía, así como los requisitos para el cultivo del cacao. El cacao crece mejor en climas cálidos y húmedos entre 20-30°C, y requiere suelo rico en nitrógeno y potasio. Aunque el chocolate de cacao puede elevar los niveles de serotonina y dopamina, no todos los chocolates están hechos de cacao puro y contienen azúcares y otros ingredientes, por lo que es importante reconocer la variedad y
El documento describe las modificaciones realizadas en el hall de entrada y dormitorios de una casa. Se suprimió el pasillo del hall y se sustituyó por un murete bajo que comunica con la cocina. El paso a los dormitorios está cerrado por una puerta corredera. Los dormitorios incluyen un principal con terraza. Se aprovecharon los espacios para incluir armarios invisibles que resuelven el problema del almacenaje. El dormitorio principal tiene acceso a la terraza, lo que le da más luz y sensación de amplitud.
Jak prowadzić profil na facebooku obiektu hotelowego? Uchylamy rąbka tajmenicy i dzielimy się naszą wiedzą na ten temat. Facebook bardzo pomaga w budowaniu relacji z klientami - można tam teraz zrobić wszystko - zarezerwować nocleg, dodać swoją opinię, przejrzeć ofertę i przede wszystkim poznać hotel "od kuchni".
This document is an application form for a position with Community Voice Careline Response Limited. It requests personal details, employment history, references, availability, and a declaration from the applicant. It informs applicants that the position involves regulated activity with vulnerable groups, and that the company will treat any personal information according to data protection law. Successful candidates will be asked to complete a medical questionnaire.
Beauty care e attuale scenario dei consumi: fatti, cifre, tendenze di sviluppoG&P communication srl
Laura Salibba - Client Business Partner Nielsen interviene alla Beauty Web Conference 2011, organizzata da Bellezza.it
http://www.beautywebconference.it/index.html
http://www.bellezza.it/
http://www.gepcommunication.it/
The document discusses the evolution of DevOps practices from before Scrum to integrating Scrum and Kanban. It describes how earlier approaches lacked coordination between development and database administration teams. The emergence of DbOps and DevOps aims to improve synchronization through practices like source control, continuous integration, delivery and automation. Key aspects include defining contracts to communicate changes and extending collaboration across applications, databases and infrastructure.
Lauren Givens is an experienced learning and development consultant with over 7 years of experience in leadership development, training, facilitation, coaching, and talent management. She currently works as a Lead Corporate Trainer and OD Consultant at Goodwill Industries of Southeastern WI, where she designs and implements employee development programs and provides strategic learning solutions. Previously she held talent development roles at Kohl's Corporation and UWM - School of Continuing Education. She has a MA in Communication and BA in Communication from UW-Milwaukee along with several professional certifications.
El documento describe el imperialismo europeo en el siglo XIX. Las potencias europeas como Gran Bretaña, Francia y Alemania establecieron grandes imperios coloniales, dominando militar, política y económicamente regiones de África, Asia y el Pacífico. Buscaron obtener materias primas, mercados para sus productos y prestigio internacional. Esto llevó a la explotación de los pueblos colonizados y alimentó la idea europea de superioridad racial. El imperialismo provocó tensiones entre las potencias y fue una causa de la Primera
The document summarizes MLCC's experience virtualizing their ERP system using VMware. It discusses the initial skepticism from some teams about virtualizing such critical systems. It then details the agile "PDQ Methodology" used to plan and execute the virtualization project. Several hurdles were overcome, including Oracle licensing issues and internal perceptions. The project was a success, coming in on time and under budget. Virtualizing the ERP system provided significant benefits and cost savings compared to the previous minicomputer infrastructure.
Kscope 14 Presentation : Virtual Data PlatformKyle Hailey
This document discusses how data constraints impact IT and businesses. It presents virtual data as a solution to alleviate these constraints. Some key points made include:
1) Data constraints strain IT resources, have a huge price tag, and many companies are unaware of their impact. Moving and managing data is difficult and expensive.
2) Virtual data platforms use thin cloning and compression to reduce storage needs and provision environments quickly. This helps development, QA, recovery scenarios and enables faster business intelligence refreshes.
3) Customers using virtual data have seen benefits like doubling development throughput, slashing financial close times by 10x, and cutting surgical recovery times by 8x. Virtual data helps optimize the "factory floor of IT
The document provides guidance on designing a complex web application by breaking it into multiple microservices or applications. It recommends asking questions about team size, traffic patterns, priorities for speed vs stability, existing APIs or libraries, and programming languages. Based on the answers, it suggests appropriate frameworks, languages, data storage, testing/deployment processes, and server/container management options. The overall goal is to modularize the application, leverage existing tools when possible, and not overengineer parts of the design.
A presentation on clearly defining a microservice architecture, culture, and discovering how to determine whether it is a step in the right direction for your system. I discuss about the decisions that lead us to take on a microservice architecture approach at Sprout, and the challenges we are facing as a startup learning a new method for making apps.
This document summarizes a project report that built three web applications with different configurations to compare performance. Application 1 used Linux, Apache, Perl and MySQL. Application 2 used Windows, IIS, C# and SQL Server 2000. Application 3 used Windows, Tomcat, JSP/Servlets and MySQL. Simple tests found C# and JSP/Servlet had similar performance, while SQL Server 2000 outperformed MySQL. The report concluded more robust testing is needed but provided an overview of different web setups.
The document summarizes a student's final project report for their CS491A class. The project involved building three different web application systems with different technology stacks and measuring their performance. The first system used Red Hat Linux, Apache, Perl, and MySQL. The second used Windows 2000, IIS, ASP.NET, C#, and SQL Server 2000. The third used Windows, Apache, Java servlets/JSPs, and MySQL. The student found that the first system had the best performance on older hardware but was more difficult to configure, while the second system's components worked more seamlessly together but ran slower.
The document summarizes a student project that builds three different web application systems with different technology stacks and compares their performance. The first application is built on Red Hat Linux, Apache web server, Perl programming language, and MySQL database. The second uses Windows 2000, IIS web server, ASP.NET programming with C# and SQL Server 2000 database. The third combines Windows, Apache web server, Java servlets/JSP programming and MySQL database. After building each system, the student will do a simple performance test to compare response times and provide information to help developers choose technologies.
This document summarizes a project report that built three web applications with different configurations to compare performance. Application 1 used Linux, Apache, Perl and MySQL. Application 2 used Windows, IIS, C# and SQL Server 2000. Application 3 used Windows, Tomcat, JSP/Servlets and MySQL. Simple tests found C# and JSP/Servlet had similar performance, while SQL Server 2000 outperformed MySQL. The report concluded more robust testing is needed but provided an overview of different web setups.
Andreas Grabner maintains that most performance and scalability problems don’t need a large or long running performance test or the expertise of a performance engineering guru. Don’t let anybody tell you that performance is too hard to practice because it actually is not. You can take the initiative and find these often serious defects. Andreas analyzed and spotted the performance and scalability issues in more than 200 applications last year. He shares his performance testing approaches and explores the top problem patterns that you can learn to spot in your apps. By looking at key metrics found in log files and performance monitoring data, you will learn to identify most problems with a single functional test and a simple five-user load test. The problem patterns Andreas explains are applicable to any type of technology and platform. Try out your new skills in your current testing project and take the first step toward becoming a performance diagnostic hero.
Accelerate application delivery with docker containers and windows server 2016Taylor Brown
This webinar discussed how containers can help solve problems in IT related to availability, agility, and scaling applications. Containers deliver speed and flexibility compared to virtual machines by starting nearly instantly, using fewer resources, and allowing applications to run anywhere. The webinar demonstrated how to containerize legacy applications, transform them to microservices, and accelerate new applications using a single container platform. It highlighted how containers address issues like breakages during deployment and "works on my machine" problems. The presentation concluded by providing resources for learning more about using containers on Windows Server 2016 with Docker.
Application Modernisation through Event-Driven Microservices confluent
Microservices have emerged as a widely discussed and adopted way to build modern and scalable applications. They are easier to build, manage and maintain than monoliths due to smaller code bases; they isolate complexity, allowing for smaller, more agile teams to create services, and they are flexible—allowing the use of various platforms, programming languages, and tools since these choices affect only an individual service and a small team at a time.
This was a talk, largely on Kamaelia & its original context given at a Free Streaming Workshop in Florence, Italy in Summer 2004. Many of the core
concepts still hold valid in Kamaelia today
Keptn is an open-source project that provides tools to enable continuous delivery and automation for modern applications using Kubernetes. It allows developers to focus on code and DevOps teams to focus on tools rather than building custom pipelines. Keptn provides automated multi-stage delivery pipelines, automated quality gates, self-healing deployments, and enables zero-touch toolchain integration and updates. It also supports automated problem remediation in production for continuous operations. Keptn follows cloud-native design principles and provides a common way for organizations to achieve autonomous delivery and operations.
The document summarizes a performance analysis study of a large enterprise application called Zanzibar. The researchers initially struggled to get the application to scale even on modest hardware. Through analyzing javacores, they identified and addressed multiple bottlenecks, including lock contention, disk throughput issues, and inefficient Java code. These changes resulted in performance improvements of 1.4-5x. The researchers also developed the WAIT performance tool to help identify primary bottlenecks in deployed applications with low overhead. The tool uses standard OS and JVM data and has seen widespread adoption due to its ease of use.
The workshop covered cloud-native Java technologies using Open Liberty and MicroProfile. It included presentations on 12-factor and 15-factor application methodologies and hands-on labs exploring OpenAPI, health checks, metrics, and JWT authentication. Leaders demonstrated how to build and deploy modular, scalable microservices using open-source tools that optimize developer productivity and application portability in cloud environments.
The promise of DevOps is that we can push new ideas out to market faster while avoiding delivering serious defects into production. Andreas Grabner explains that testers are no longer measured by the number of defect reports they enter, nor are developers measured by the lines of code they write. As a team, you are measured by how fast you can deploy high quality functionality to the end user. Achieving this goal requires testers to increase their skills. It’s all about finding solutions—not just problems. Testers must transition from reporting “app crashes” to providing details such as “memory leak caused by bad cache implementation.” Instead of reporting “it’s slow,” testers must discover “wrong hibernate configuration causes too much traffic from the database.” Using three real-life examples, Andreas illustrates what it takes for testing teams to become part of the DevOps transformation—bringing more value to the entire organization.
The document discusses using data virtualization to address the constraint of data in DevOps workflows. It describes how traditional database cloning methods are inefficient and consume significant resources. The solution presented uses thin cloning technology to take snapshots of production databases and provide virtual copies for development, QA, and other environments. This allows for unlimited, self-service virtual databases that reduce bottlenecks and waiting times compared to physical copies.
OpenStack Nova - Developer IntroductionJohn Garbutt
This document provides an overview of Nova, OpenStack's compute service. It discusses Nova's architecture, code structure, API concepts, upgrade process, and how different groups work together as part of the upstream community. The new upgrade process aims to minimize downtime by expanding the database schema, restarting services individually, and signaling services to reload configuration. Collaboration across various groups with different perspectives is important to OpenStack's open development model.
The document provides an overview of a presentation on cloud performance testing. The presentation agenda includes cloud 101 concepts, cloud offerings and deployment models, challenges of cloud computing, and tools for cloud performance testing. It also summarizes a proof of concept that was conducted to compare the performance and costs of using a commercial tool versus an open source tool for load testing on cloud infrastructure. The results showed comparable response times between the tools and significantly lower costs when using the cloud versus maintaining physical infrastructure.
Scaling Databricks to Run Data and ML Workloads on Millions of VMsMatei Zaharia
Keynote at Scale By The Bay 2020.
Cloud service developers need to handle massive scale workloads from thousands of customers with no downtime or regressions. In this talk, I’ll present our experience building a very large-scale cloud service at Databricks, which provides a data and ML platform service used by many of the largest enterprises in the world. Databricks manages millions of cloud VMs that process exabytes of data per day for interactive, streaming and batch production applications. This means that our control plane has to handle a wide range of workload patterns and cloud issues such as outages. We will describe how we built our control plane for Databricks using Scala services and open source infrastructure such as Kubernetes, Envoy, and Prometheus, and various design patterns and engineering processes that we learned along the way. In addition, I’ll describe how we have adapted data analytics systems themselves to improve reliability and manageability in the cloud, such as creating an ACID storage system that is as reliable as the underlying cloud object store (Delta Lake) and adding autoscaling and auto-shutdown features for Apache Spark.
This document provides an overview and summary of the key features and enhancements in Percona Server for MySQL 8.0. It begins by explaining that Percona Server is a drop-in replacement for MySQL with additional enhancements. It then outlines some of the major enhancements in Percona Server 8.0, including write-optimized storage engines like RocksDB, data encryption capabilities, and enterprise features. The document also discusses enhancements for flexibility and management. Finally, it notes some considerations for upgrading from Percona Server 5.7 to 8.0.
This document summarizes a presentation given by Laurynas Biveinis on the MySQL ecosystem in 2018. Some of the key points covered include:
- MySQL 8.0 was released in 2018 with new features like an improved data dictionary, JSON enhancements, and common table expressions.
- MariaDB 10.3 added capabilities like system-versioned tables and Oracle PL/SQL compatibility.
- Clustering options for MySQL include Oracle's Group Replication as well as more established options like Percona XtraDB Cluster and MariaDB Galera Cluster.
- Other notable developments include new storage engines like MyRocks, data encryption options, and tools to manage and deploy MySQL databases at scale
This document discusses changes and enhancements in Percona Server 8.0 compared to previous versions. Some features have been removed due to being deprecated in MySQL 8.0 or due to lack of usage. Changed features require upgrades to partitioning, data dictionary changes, and variable setting syntax. Testing is still ongoing for Percona Server 8.0 performance.
The document summarizes Percona Server 8.0, which integrates features from Percona Server 5.7 and MySQL 8.0. Key goals of Percona Server 8.0 include having storage engines like TokuDB and MyRocks support native partitioning, improving performance through features from both products, maintaining flexibility through options like the MEMORY storage engine and compression dictionaries, and strengthening management, diagnostics, and security. The initial release focuses on combining features rather than new Percona-specific features, and will drop little-used options while making backwards-incompatible changes documented in the upgrade path.
In this session we will discuss selected areas of InnoDB and XtraDB 5.7 internals that are mostly related to buffer pool management and flushing, from a performance and scalability point of view. We will describe the motivation behind the features in Percona Server XtraDB 5.7 (buffer pool mutex split; multi-threaded LRU flusher; parallel doublewrite), given that MySQL InnoDB 5.7 has reimplemented many similar features that we have in XtraDB 5.6 -- especially for disk-bound RW workloads. The talk will be technical, and assumes you have familiarity with InnoDB internals.
In this session we will discuss selected areas of InnoDB and XtraDB 5.7 internals that are mostly related to buffer pool management, flushing, and the doublewrite buffer, from a performance and scalability point of view.
We will discuss selected areas of InnoDB and XtraDB 5.6/5.7 internals:
flushing, the relation of buffer pool instance sharding to the XtraDB
buffer pool mutex split, priority lock and priority scheduling
framework, transaction list management, and performance-related
changes in 5.7.
We will discuss the motivation behind the changes we did in XtraDB
5.6, their relation to changes done in Oracle InnoDB 5.7, and our
plans for XtraDB 5.7.
The talk will be technical and assuming familiarity with InnoDB
internals. The target audience for the talk would be InnoDB and
performance engineers.
Percona Server 5.6: Enterprise-Grade MySQL / PLMCE 2014Laurynas Biveinis
Percona Live 2014 presentation
https://www.percona.com/live/mysql-conference-2014/sessions/percona-server-56-enterprise-grade-mysql
Fast Incremental Backups with Percona Server and Percona XtraBackup / PLMCE 2014Laurynas Biveinis
Percona Live 2014 presentation
https://www.percona.com/live/mysql-conference-2014/sessions/fast-incremental-backups-percona-server-and-percona-xtrabackup
Tracking Page Changes for Your Database and Bitmap BackupsLaurynas Biveinis
This document discusses tracking page changes in a database to enable faster and more frequent incremental backups. It presents performance results showing that incremental backups using changed page tracking are faster than full scans. It describes how the changed page tracking works in Percona Server and XtraBackup, including the new INFORMATION_SCHEMA.INNODB_CHANGED_PAGES table. Server overhead is minimal. The implementation writes bitmaps for changed pages after each log checkpoint. This allows avoiding reading unchanged pages during backups.
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATIONmiso_uam
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION (plenary talk at ANNSIM'2025)
Testing is essential to improve the correctness of software systems. Metamorphic testing (MT) is an approach especially suited when the system under test lacks oracles, or they are expensive to compute. However, building an MT environment for a particular domain (e.g., cloud simulation, automated driving simulation, production system simulation, etc) requires substantial effort.
To alleviate this problem, we propose a model-driven engineering approach to automate the construction of MT environments, which is especially useful to test domain-specific modelling and simulation systems. Starting from a meta-model capturing the domain concepts, and a description of the domain execution environment, our approach produces an MT environment featuring comprehensive support for the MT process. This includes the definition of domain-specific metamorphic relations, their evaluation, detailed reporting of the testing results, and the automated search-based generation of follow-up test cases.
In this talk, I presented the approach, along with ongoing work and perspectives for integrating intelligence assistance based on large language models in the MT process. The work is a joint collaboration with Pablo Gómez-Abajo, Pablo C. Cañizares and Esther Guerra from the miso research group and Alberto Núñez from UCM.
Automating Map Production With FME and PythonSafe Software
People still love a good paper map, but every time a request lands on a GIS team’s desk, it takes time to create that perfect, individual map—even when you're ready and have projects prepped. Then come the inevitable changes and iterations that add even more time to the process. This presentation explores a solution for automating map production using FME and Python. FME handles the setup of variables, leveraging GIS reference layers and parameters to manage details like map orientation, label sizes, and layout elements. Python takes over to export PDF maps for each location and template size, uploading them monthly to ArcGIS Online. The result? Fresh, regularly updated maps, ready for anyone to grab anytime—saving you time, effort, and endless revisions while keeping users happy with up-to-date, accessible maps.
Invited Talk at RAISE 2025: Requirements engineering for AI-powered SoftwarE Workshop co-located with ICSE, the IEEE/ACM International Conference on Software Engineering.
Abstract: Foundation Models (FMs) have shown remarkable capabilities in various natural language tasks. However, their ability to accurately capture stakeholder requirements remains a significant challenge for using FMs for software development. This paper introduces a novel approach that leverages an FM-powered multi-agent system called AlignMind to address this issue. By having a cognitive architecture that enhances FMs with Theory-of-Mind capabilities, our approach considers the mental states and perspectives of software makers. This allows our solution to iteratively clarify the beliefs, desires, and intentions of stakeholders, translating these into a set of refined requirements and a corresponding actionable natural language workflow in the often-overlooked requirements refinement phase of software engineering, which is crucial after initial elicitation. Through a multifaceted evaluation covering 150 diverse use cases, we demonstrate that our approach can accurately capture the intents and requirements of stakeholders, articulating them as both specifications and a step-by-step plan of action. Our findings suggest that the potential for significant improvements in the software development process justifies these investments. Our work lays the groundwork for future innovation in building intent-first development environments, where software makers can seamlessly collaborate with AIs to create software that truly meets their needs.
Build enterprise-ready applications using skills you already have!PhilMeredith3
Process Tempo is a rapid application development (RAD) environment that empowers data teams to create enterprise-ready applications using skills they already have.
With Process Tempo, data teams can craft beautiful, pixel-perfect applications the business will love.
Process Tempo combines features found in business intelligence tools, graphic design tools and workflow solutions - all in a single platform.
Process Tempo works with all major databases such as Databricks, Snowflake, Postgres and MySQL. It also works with leading graph database technologies such as Neo4j, Puppy Graph and Memgraph.
It is the perfect platform to accelerate the delivery of data-driven solutions.
For more information, you can find us at www.processtempo.com
How to Generate Financial Statements in QuickBooks Like a Pro (1).pdfQuickBooks Training
Are you preparing your budget for the next year, applying for a business credit card or loan, or opening a company bank account? If so, you may find QuickBooks financial statements to be a very useful tool.
These statements offer a brief, well-structured overview of your company’s finances, facilitating goal-setting and money management.
Don’t worry if you’re not knowledgeable about QuickBooks financial statements. These statements are complete reports from QuickBooks that provide an overview of your company’s financial procedures.
They thoroughly view your financial situation by including important features: income, expenses, investments, and disadvantages. QuickBooks financial statements facilitate your financial management and assist you in making wise determinations, regardless of your experience as a business owner.
How AI Can Improve Media Quality Testing Across Platforms (1).pptxkalichargn70th171
Media platforms, from video streaming to OTT and Smart TV apps, face unprecedented pressure to deliver seamless, high-quality experiences across diverse devices and networks. Ensuring top-notch Quality of Experience (QoE) is critical for user satisfaction and retention.
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps CyclesMarjukka Niinioja
Teams delivering API are challenges with:
- Connecting APIs to business strategy
- Measuring API success (audit & lifecycle metrics)
- Partner/Ecosystem onboarding
- Consistent documentation, security, and publishing
🧠 The big takeaway?
Many teams can build APIs. But few connect them to value, visibility, and long-term improvement.
That’s why the APIOps Cycles method helps teams:
📍 Start where the pain is (one “metro station” at a time)
📈 Scale success across strategy, platform, and operations
🛠 Use collaborative canvases to get buy-in and visibility
Want to try it and learn more?
- Follow APIOps Cycles in LinkedIn
- Visit the www.apiopscycles.com site
- Subscribe to email list
-
Generative Artificial Intelligence and its ApplicationsSandeepKS52
The exploration of generative AI begins with an overview of its fundamental concepts, highlighting how these technologies create new content and ideas by learning from existing data. Following this, the focus shifts to the processes involved in training and fine-tuning models, which are essential for enhancing their performance and ensuring they meet specific needs. Finally, the importance of responsible AI practices is emphasized, addressing ethical considerations and the impact of AI on society, which are crucial for developing systems that are not only effective but also beneficial and fair.
Marketo & Dynamics can be Most Excellent to Each Other – The SequelBradBedford3
So you’ve built trust in your Marketo Engage-Dynamics integration—excellent. But now what?
This sequel picks up where our last adventure left off, offering a step-by-step guide to move from stable sync to strategic power moves. We’ll share real-world project examples that empower sales and marketing to work smarter and stay aligned.
If you’re ready to go beyond the basics and do truly most excellent stuff, this session is your guide.
Boost Student Engagement with Smart Attendance Software for SchoolsVisitu
Boosting student engagement is crucial for educational success, and smart attendance software is a powerful tool in achieving that goal. Read the doc to know more.
How John started to like TDD (instead of hating it) (ViennaJUG, June'25)Nacho Cougil
Let me share a story about how John (a developer like any other) started to understand (and enjoy) writing Tests before the Production code.
We've all felt an inevitable "tedium" when writing tests, haven't we? If it's boring, if it's complicated or unnecessary? Isn't it? John thought so too, and, as much as he had heard about writing tests before production code, he had never managed to put it into practice, and even when he had tried, John had become even more frustrated at not understanding how to put it into practice outside of a few examples katas 🤷♂️
Listen to this story in which I will explain how John went from not understanding Test Driven Development (TDD) to being passionate about it... so much that now he doesn't want to work any other way 😅 ! He must have found some benefits in practising it, right? He says he has more advantages than working in any other way (e.g., you'll find defects earlier, you'll have a faster feedback loop or your code will be easier to refactor), but I'd better explain it to you in the session, right?
PS: Think of John as a random person, as if he was even the speaker of this talk 😉 !
---
Presentation shared at ViennaJUG, June'25
Feedback form:
https://bit.ly/john-like-tdd-feedback
Micro-Metrics Every Performance Engineer Should Validate Before Sign-OffTier1 app
When it comes to performance testing, most engineers instinctively gravitate toward the big-picture indicators—response time, memory usage, throughput. But what about the smaller, more subtle indicators that quietly shape your application’s performance and stability? we explored the hidden layer of performance diagnostics that too often gets overlooked: micro-metrics. These small but mighty data points can reveal early signs of trouble long before they manifest as outages or degradation in production.
From garbage collection behavior and object creation rates to thread state transitions and blocked thread patterns, we unpacked the critical micro-metrics every performance engineer should assess before giving the green light to any release.
This session went beyond the basics, offering hands-on demonstrations and JVM-level diagnostics that help identify performance blind spots traditional tests tend to miss. We showed how early detection of these subtle anomalies can drastically reduce post-deployment issues and production firefighting.
Whether you're a performance testing veteran or new to JVM tuning, this session helped shift your validation strategies left—empowering you to detect and resolve risks earlier in the lifecycle.
Design by Contract - Building Robust Software with Contract-First DevelopmentPar-Tec S.p.A.
In the fast-paced world of software development, code quality and reliability are paramount. This SlideShare deck, presented at PyCon Italia 2025 by Antonio Spadaro, DevOps Engineer at Par-Tec, introduces the “Design by Contract” (DbC) philosophy and demonstrates how a Contract-First Development approach can elevate your projects.
Beginning with core DbC principles—preconditions, postconditions, and invariants—these slides define how formal “contracts” between classes and components lead to clearer, more maintainable code. You’ll explore:
The fundamental concepts of Design by Contract and why they matter.
How to write and enforce interface contracts to catch errors early.
Real-world examples showcasing how Contract-First Development improves error handling, documentation, and testability.
Practical Python demonstrations using libraries and tools that streamline DbC adoption in your workflow.
Rebuilding Cadabra Studio: AI as Our Core FoundationCadabra Studio
Cadabra Studio set out to reconstruct its core processes, driven entirely by AI, across all functions of its software development lifecycle. This journey resulted in remarkable efficiency improvements of 40–80% and reshaped the way teams collaborate. This presentation shares our challenges and lessons learned in becoming an AI-native firm, including overcoming internal resistance and achieving significant project delivery gains. Discover our strategic approach and transformative recommendations to integrate AI not just as a feature, but as a fundamental element of your operational structure. What changes will AI bring to your company?
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...Insurance Tech Services
A modern Policy Administration System streamlines workflows and integrates with core systems to boost speed, accuracy, and customer satisfaction across the policy lifecycle. Visit https://www.damcogroup.com/insurance/policy-administration-systems for more details!
How Insurance Policy Administration Streamlines Policy Lifecycle for Agile Op...Insurance Tech Services
Developing a database server: software engineer's view
1. Developing a Database
Server: Software Engineer’s
View
Laurynas Biveinis / Percona
laurynas.biveinis@{gmail|percona}.com
Big Data Strategy 2015 Vilnius
2. Which database server?
Percona Server
http://www.percona.com/software/percona-server
A drop-in compatible fork of MySQL
An open-source, relational database management
system
Approaching 2,000,000 downloads
3. A part of MySQL ecosystem
Enabled by GNU General Public License
Forks abound
Healthy and thriving
Lots of politics
11. A case of super_read_only
Facebook patch implemented it first
Facebook contributed it to WebScaleSQL
12. A case of super_read_only
Facebook patch implemented it first
Facebook contributed it to WebScaleSQL
Percona Server merged it from WebScaleSQL, sent
some bugfixes back to WebScaleSQL
13. A case of super_read_only
Facebook patch implemented it first
Facebook contributed it to WebScaleSQL
Percona Server merged it from WebScaleSQL, sent
some bugfixes back to WebScaleSQL
Oracle re-implemented it from scratch for the next major
MySQL release
14. A case of super_read_only
Facebook patch implemented it first
Facebook contributed it to WebScaleSQL
Percona Server merged it from WebScaleSQL, sent
some bugfixes back to WebScaleSQL
Oracle re-implemented it from scratch for the next major
MySQL release
MariaDB did not like it
16. Back to Percona Server
Tracks MySQL closely
Diagnostics and management
Performance and scalability
17. Why diagnostics and
management?
Early Percona Server:
Ad-hoc patch for extra diagnostics by Percona
consultants
Get billed-per-hour work done more efficiently
18. Why (InnoDB) performance
and scalability?
In 2010, InnoDB was performing worse on a 4-core
machine than on 1-core one
And fixes were not forthcoming at the time
Addressed the need then, built the reputation since
19. Why not other features?
Feature benefit / feature cost ratio has to be very, very
high
Case 1: implement low-hanging fruits
Case 2: implement extremely beneficial features
No rewrites, no refactorings, no code base cleanups
21. Lesson 1: stand on the
shoulders of giants
You probably do not need to write a DBMS from
scratch
So find a good project to fork
22. Lesson 2: do not diverge
Do not add a single line of code difference without a very
good reason
Unless your engineering team is as big as the upstream
one
Improvements such as O(n2
) -> O(n log n) algorithms are
often not good enough in cold code paths
Plugins are very good
23. Lesson 3: listen to users
Easier said than done, especially if done right
Listening and then ignoring / downplaying users’ pain
Listening to wrong users
We have the best users! :)
$$$ / €€€ add weight to users’ opinions
Both right and wrong
24. Lesson 4: Continuous QC
Was not something Percona Server had on Day One
MySQL always had an automated feature/regression testsuite
But 3rd parties did not always add tests for their features
Step 1: require developers to actually run the testsuite
Step 2: Jenkins per-push
Step 3: …
25. Lesson 4: wrong ways and slightly
less wrong ways to do performance
28. Same performance graph, different view
0
20000
40000
60000
80000
00:00 00:01 00:02 00:03 00:04 00:05 00:06
Product A Product B
29. Is Product B still better?
How to provision
capacity for B?
What response time
guarantee will it give?
Will your automated
failover work correctly in
the presence of stalls?
0
20000
40000
60000
80000
00:00 00:03 00:06
30. Engineering low variance >
engineering max peak performance
Where does variance come from anyway?
From the query code path requesting resources with variable
availability
C, C++, CPU, memory: caches, heap, mutexes, rwlocks
Memory/disk: data on disk, which could be cached
RDBMS: free space on WAL log etc
Client-server and clusters: network roundtrips
31. Database servers love being
in homeostasis
All the required resources for queries readily available
In the presence of unpredictable load
Do not make query threads work for this
Monitor them in background and make them available
as needed
In the presence of unpredictable workload
32. If you want to develop a
DBMS:
Find an existing one to fork!
And then do not diverge
Listen to your users
Control quality continuously
Ensure stable performance