In this session, Cary Millsap begins with a little bit of the theory behind why reducing call count is the most important goal of optimizing performance. Then he works through two examples where understanding the call count reduction idea is key to making progress. The first worked example is an intermittent performance problem that was frustratingly difficult to reproduce. The second worked example is a performance problem caused by an inefficiently-written application that overtaxes the system’s CPU.
The Most Important Things You Should Know about Oracle®Cary Millsap
I've been around hundreds of Oracle performance projects since 1989, and my colleagues have been around thousands more. In candid after-work talks about our experiences, there has been remarkable symmetry in what we believe makes a project successful. People everywhere seem to be discovering the same secret on their own, through the Agile, Lean Startup, and Design Thinking movements. The secret? Shorter feedback loops. But shortening your feedback loops in Oracle projects is easier said than done. It all depends on how well you Test and Measure. But how do you overcome the political and technical barriers to making great testing and measuring a part of your project plan?
How to find and fix your Oracle-based application performance problemCary Millsap
How long does your code take to run? Is it changing? When it is slow, WHY is it slow? Is it your fault, or somebody else's? Can you prove it? How much faster could your code be? Do you know how to measure the performance of your code as user workloads and data volumes increase? These are fundamental questions about performance, but the vast majority of Oracle application developers can't answer them. The most popular performance tools available to them—and to the database administrators that run their code in production—are incapable of answering any of these questions. But the Oracle Database can give you exactly what you need to answer these questions and many more. You can know exactly where YOUR CODE is spending YOUR TIME. This session explains how.
This was presented 2016-01-28 at the Dallas Oracle User's Group January meeting.
How to find and fix your Oracle application performance problemCary Millsap
How long does your code take to run? Is it changing? When it is slow, WHY is it slow? Is it your fault, or somebody else's? Can you prove it? How much faster could your code be? Do you know how to measure the performance of your code as user workloads and data volumes increase? These are fundamental questions about performance, but the vast majority of Oracle application developers can't answer them. The most popular performance tools available to them—and to the database administrators that run their code in production—are incapable of answering any of these questions. But the Oracle Database can give you exactly what you need to answer these questions and many more. You can know exactly where YOUR CODE is spending YOUR TIME. This session explains how.
OLAP on the Cloud with Azure Databricks and Azure SynapseAtScale
This presentation was part of the 2020 Global Summer Azure Data Fest. It explains how Cloud OLAP helps you to analyze large amounts of data on Azure Databricks, Azure Synapse and other data platforms without moving it. And, shows how to leverage AtScale’s Cloud OLAP perform multidimensional analysis – and derive business insights – on data sets from multiple providers – with no data prep or data engineering required.
Presented by: Joseph Rickert, Data Scientist Community Manager, Revolution Analytics, Sep 25 2014.
Whenever data scientists are asked about what software they use R always comes up at the top of the list. In one recent survey, only SQL was rated higher than R. In this webinar we will explore what makes R so popular and useful. Starting with the big picture, we describe how R is organized and how to find your way around the R world. Then we will work through some examples highlighting features of R that make it attractive for data science work including:
Acquiring data
Data manipulation
Exploratory data analysis
Model building
Machine learning
Tactical Data Science Tips: Python and Spark TogetherDatabricks
Running Spark and Python data science workloads can be challenging given the complexity of the various data science tools in the ecosystem like sci-kit Learn, TensorFlow, Spark, Pandas, and MLlib. All these various tools and architectures, provide important trade-offs to consider when it comes to moving to proofs of concept and going to production. While proof of concepts may be relatively straightforward, moving to production can be challenging because it’s difficult to understand not just the short term effort to develop a solution, but the long term cost of supporting projects over the long term.
This talk will discuss important tactical patterns for evaluating projects, running proofs of concept to inform going to production, and finally the key tactics we use internally at Databricks to take data and machine learning projects into production. This session will cover some architectural choices involving Spark, PySpark, Pandas, notebooks, various machine learning toolkits, as well as frameworks and technologies necessary to support them.
Open Source 101 2022 - MySQL Indexes and HistogramsFrederic Descamps
Nobody complains that the database is too fast. But when things slow down, the complaints come quickly. The two most popular approaches to speeding up queries are indexes and histograms. But there are so many options and types on indexes that it can get confusing. Histograms are fairly new to MySQL but they do not work for all types of data. This talk covers how indexes and histograms work and show you how to test just how effective they are so you can measure the performance of your queries.
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.
The Most Important Things You Should Know about Oracle®Cary Millsap
I've been around hundreds of Oracle performance projects since 1989, and my colleagues have been around thousands more. In candid after-work talks about our experiences, there has been remarkable symmetry in what we believe makes a project successful. People everywhere seem to be discovering the same secret on their own, through the Agile, Lean Startup, and Design Thinking movements. The secret? Shorter feedback loops. But shortening your feedback loops in Oracle projects is easier said than done. It all depends on how well you Test and Measure. But how do you overcome the political and technical barriers to making great testing and measuring a part of your project plan?
How to find and fix your Oracle-based application performance problemCary Millsap
How long does your code take to run? Is it changing? When it is slow, WHY is it slow? Is it your fault, or somebody else's? Can you prove it? How much faster could your code be? Do you know how to measure the performance of your code as user workloads and data volumes increase? These are fundamental questions about performance, but the vast majority of Oracle application developers can't answer them. The most popular performance tools available to them—and to the database administrators that run their code in production—are incapable of answering any of these questions. But the Oracle Database can give you exactly what you need to answer these questions and many more. You can know exactly where YOUR CODE is spending YOUR TIME. This session explains how.
This was presented 2016-01-28 at the Dallas Oracle User's Group January meeting.
How to find and fix your Oracle application performance problemCary Millsap
How long does your code take to run? Is it changing? When it is slow, WHY is it slow? Is it your fault, or somebody else's? Can you prove it? How much faster could your code be? Do you know how to measure the performance of your code as user workloads and data volumes increase? These are fundamental questions about performance, but the vast majority of Oracle application developers can't answer them. The most popular performance tools available to them—and to the database administrators that run their code in production—are incapable of answering any of these questions. But the Oracle Database can give you exactly what you need to answer these questions and many more. You can know exactly where YOUR CODE is spending YOUR TIME. This session explains how.
OLAP on the Cloud with Azure Databricks and Azure SynapseAtScale
This presentation was part of the 2020 Global Summer Azure Data Fest. It explains how Cloud OLAP helps you to analyze large amounts of data on Azure Databricks, Azure Synapse and other data platforms without moving it. And, shows how to leverage AtScale’s Cloud OLAP perform multidimensional analysis – and derive business insights – on data sets from multiple providers – with no data prep or data engineering required.
Presented by: Joseph Rickert, Data Scientist Community Manager, Revolution Analytics, Sep 25 2014.
Whenever data scientists are asked about what software they use R always comes up at the top of the list. In one recent survey, only SQL was rated higher than R. In this webinar we will explore what makes R so popular and useful. Starting with the big picture, we describe how R is organized and how to find your way around the R world. Then we will work through some examples highlighting features of R that make it attractive for data science work including:
Acquiring data
Data manipulation
Exploratory data analysis
Model building
Machine learning
Tactical Data Science Tips: Python and Spark TogetherDatabricks
Running Spark and Python data science workloads can be challenging given the complexity of the various data science tools in the ecosystem like sci-kit Learn, TensorFlow, Spark, Pandas, and MLlib. All these various tools and architectures, provide important trade-offs to consider when it comes to moving to proofs of concept and going to production. While proof of concepts may be relatively straightforward, moving to production can be challenging because it’s difficult to understand not just the short term effort to develop a solution, but the long term cost of supporting projects over the long term.
This talk will discuss important tactical patterns for evaluating projects, running proofs of concept to inform going to production, and finally the key tactics we use internally at Databricks to take data and machine learning projects into production. This session will cover some architectural choices involving Spark, PySpark, Pandas, notebooks, various machine learning toolkits, as well as frameworks and technologies necessary to support them.
Open Source 101 2022 - MySQL Indexes and HistogramsFrederic Descamps
Nobody complains that the database is too fast. But when things slow down, the complaints come quickly. The two most popular approaches to speeding up queries are indexes and histograms. But there are so many options and types on indexes that it can get confusing. Histograms are fairly new to MySQL but they do not work for all types of data. This talk covers how indexes and histograms work and show you how to test just how effective they are so you can measure the performance of your queries.
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.
Best Practices for Building and Deploying Data Pipelines in Apache SparkDatabricks
Many data pipelines share common characteristics and are often built in similar but bespoke ways, even within a single organisation. In this talk, we will outline the key considerations which need to be applied when building data pipelines, such as performance, idempotency, reproducibility, and tackling the small file problem. We’ll work towards describing a common Data Engineering toolkit which separates these concerns from business logic code, allowing non-Data-Engineers (e.g. Business Analysts and Data Scientists) to define data pipelines without worrying about the nitty-gritty production considerations.
We’ll then introduce an implementation of such a toolkit in the form of Waimak, our open-source library for Apache Spark (https://github.com/CoxAutomotiveDataSolutions/waimak), which has massively shortened our route from prototype to production. Finally, we’ll define new approaches and best practices about what we believe is the most overlooked aspect of Data Engineering: deploying data pipelines.
Continuous Intelligence - Intersecting Event-Based Business Logic and MLParis Carbone
Modern data-driven business infrastructure is not as effective as it should be when it comes to critical decision making. Eng-to-End Data pipelines are composed out of fundamentally diverse pieces of tech, each focusing on a specific frontend (e.g., DataFrames, Tensors, Streams) and running in total isolation, thus, being highly unoptimised and complex to integrate with event-based business logic. Our research group has been looking into ways we can use advanced systems theory to compile, optimise and execute distributed functions in unison across the whole spectrum of data-driven programming, leading to a unified way to combine analytics and services all the way down to hardware execution and make continuous intelligence a reality.
Key Takeaways
Introducing the concept of Continuous Intelligence and why we are not there yet.
Pinpointing weaknesses in the current way we structure data-driven pipelines today
Explaining the potential of an Intermediate Representation (IR) and Shared Hardware Execution support to solve the problem.
Presenting our vision on how this new tech can be used to radically change the way we declare and distill knowledge from data in a fast-changing world.
Enhancing and Automating Decision Making with Machine Learning. Feature Engineering: Creating Features that Make Machine Learning Work, by BigML.
MLSEV 2019: 1st edition of the Machine Learning School in Seville, Spain.
Metadata has the potential to impact nearly every part of your enterprise. From helping you connect data across business processes to holding the key to your most valuable assets, this underdog data is finally getting the attention it deserves.
But, according to a Dataversity report on Metadata, nearly a third of organizations have only begun to address managing this valuable data and a quarter have no metadata strategy at all.
Part of what has held organizations back is that metadata is notoriously sneaky data to manage, and even more difficult to put into action using traditional relational database technology.
This webinar will look at the critical importance of metadata and highlight mission critical metadata apps that have taken a new approach with enterprise NoSQL technology and semantic data models.
Organizations including commercial entities, intelligence agencies, and some of your favorite entertainment companies using this approach have made good on the promise of metadata, and this webinar will cover how you can make metadata the hero in your organization.
Valencian Summer School in Machine Learning 2017 - Day 2
Lecture 6: Time Series and Deepnets. By Charles Parker (BigML).
https://bigml.com/events/valencian-summer-school-in-machine-learning-2017
Lessons from an AWS outage and how to detect root cause of cloud service disr...ThousandEyes
Enterprise IT and Ops team are frequently challenged by complex cloud architectures that are continually evolving. As a result, your teams suffer from increased MTTI during fault diagnosis and are often left frustrated and helpless during a cloud outage.
Join this webinar to see an analysis of a recent AWS outage and the downstream implications a cloud outage can have on your service delivery and user experience. In this demonstration you will learn:
- Monitoring best practices to reduce MTTI during cloud outages
- Why APM and cloud-native tools like CloudWatch fall short
- How to hold cloud service providers accountable when something goes wrong
From Pipelines to Refineries: scaling big data applications with Tim HunterDatabricks
Big data tools are challenging to combine into a larger application: ironically, big data applications themselves do not tend to scale very well. These issues of integration and data management are only magnified by increasingly large volumes of data. Apache Spark provides strong building blocks for batch processes, streams and ad-hoc interactive analysis. However, users face challenges when putting together a single coherent pipeline that could involve hundreds of transformation steps, especially when confronted by the need of rapid iterations. This talk explores these issues through the lens of functional programming. It presents an experimental framework that provides full-pipeline guarantees by introducing more laziness to Apache Spark. This framework allows transformations to be seamlessly composed and alleviates common issues, thanks to whole program checks, auto-caching, and aggressive computation parallelization and reuse.
NLP-Focused Applied ML at Scale for Global Fleet Analytics at ExxonMobilDatabricks
Equipment maintenance log of the global fleet is traditionally maintained using legacy infrastructure and data models, which limit the ability to extract insights at scale. However, to impact the bottom line, it is critical to ingest and enrich global fleet data to generate data driven guidance for operations. The impact of such insights is projected to be millions of dollars per annum.
To this end, we leverage Databricks to perform machine learning at scale, including ingesting (structured and unstructured data) from legacy systems, and then sifting through millions of nonlinearly growing records to extract insights using NLP. The insights enable outlier identification, capacity planning, prioritization of cost reduction opportunities, and the discovery process for cross-functional teams.
From Mess To Masterpiece - JFokus 2017Sven Ruppert
How a migration to MicroServices could change the team, architecture and coding culture. What you could you do and how you could transform a "Jurassic Park" into a lightweight environment. In this talk we will explore the strategy, techniques, pattern and tools I used to transform a team and the architecture that was grown over 15yrs. This will be a mix of pattern, tools and techniques that was able to migrate old systems, used inside insurance and banks. We had to migrate fat systems with a few million lines of code...
How to find and fix your Oracle-based application performance problemCary Millsap
This session was presented 2016-01-28 at Dallas Oracle User's Group January meeting.
How long does your code take to run? Is it changing? When it is slow, WHY is it slow? Is it your fault, or somebody else's? Can you prove it? How much faster could your code be? Do you know how to measure the performance of your code as user workloads and data volumes increase? These are fundamental questions about performance, but the vast majority of Oracle application developers can't answer them. The most popular performance tools available to them—and to the database administrators that run their code in production—are incapable of answering any of these questions. But the Oracle Database can give you exactly what you need to answer these questions and many more. You can know exactly where YOUR CODE is spending YOUR TIME. This session explains how.
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp
ML.NET is an open source, machine learning framework built in .NET and runs on Windows, Linux and macOS. It allows developers to integrate custom machine learning into their applications without any prior expertise in developing or tuning machine learning models. Enhance your .NET apps with sentiment analysis, price prediction, fraud detection and more using custom models built with ML.NET
In this Session, Andy will show not only the core of ML.NET but best practices around Azure Data Lake and data in general when using .NET
Presented the hands-on session on “Introduction to Big Data Analysis” at Dayananda Sagar University. Around 150+ University students benefitted from this session.
Innovative Specifications for Better Performance Logging and MonitoringCary Millsap
Imagine a car with no speedometer. There are speed limit signs and policemen all around with radar guns waiting to catch you speeding, but you have no way of knowing how fast you're going. Of course, a car like this has no openable hood (no bonnet), so to change the air filter, you have to hire a specialist to saw into the body of your car. A car like this would be preposterous. Yet people write software like this all the time.
The Oracle Database has some of the best performance logging features built into it of any software in the world. You can use it with any application—even applications that were built without logging and monitoring in mind. But you can go SO much further if you bother to include some performance logging features in your application. In this session, I explain Oracle's extended SQL tracing feature and describe how to enable and disable it. Then I show some innovative ideas that will help you design and build database applications that are easier to monitor, manage, and maintain throughout the software development life cycle.
In this talk about performance for the 2018-01-25 Dallas Oracle Users Group meeting, Cary Millsap talks about application design, ways to control Oracle sql_trace, measurement intrusion, and function interposition.
More Related Content
Similar to “Performance” - Dallas Oracle Users Group 2019-01-29 presentation
Best Practices for Building and Deploying Data Pipelines in Apache SparkDatabricks
Many data pipelines share common characteristics and are often built in similar but bespoke ways, even within a single organisation. In this talk, we will outline the key considerations which need to be applied when building data pipelines, such as performance, idempotency, reproducibility, and tackling the small file problem. We’ll work towards describing a common Data Engineering toolkit which separates these concerns from business logic code, allowing non-Data-Engineers (e.g. Business Analysts and Data Scientists) to define data pipelines without worrying about the nitty-gritty production considerations.
We’ll then introduce an implementation of such a toolkit in the form of Waimak, our open-source library for Apache Spark (https://github.com/CoxAutomotiveDataSolutions/waimak), which has massively shortened our route from prototype to production. Finally, we’ll define new approaches and best practices about what we believe is the most overlooked aspect of Data Engineering: deploying data pipelines.
Continuous Intelligence - Intersecting Event-Based Business Logic and MLParis Carbone
Modern data-driven business infrastructure is not as effective as it should be when it comes to critical decision making. Eng-to-End Data pipelines are composed out of fundamentally diverse pieces of tech, each focusing on a specific frontend (e.g., DataFrames, Tensors, Streams) and running in total isolation, thus, being highly unoptimised and complex to integrate with event-based business logic. Our research group has been looking into ways we can use advanced systems theory to compile, optimise and execute distributed functions in unison across the whole spectrum of data-driven programming, leading to a unified way to combine analytics and services all the way down to hardware execution and make continuous intelligence a reality.
Key Takeaways
Introducing the concept of Continuous Intelligence and why we are not there yet.
Pinpointing weaknesses in the current way we structure data-driven pipelines today
Explaining the potential of an Intermediate Representation (IR) and Shared Hardware Execution support to solve the problem.
Presenting our vision on how this new tech can be used to radically change the way we declare and distill knowledge from data in a fast-changing world.
Enhancing and Automating Decision Making with Machine Learning. Feature Engineering: Creating Features that Make Machine Learning Work, by BigML.
MLSEV 2019: 1st edition of the Machine Learning School in Seville, Spain.
Metadata has the potential to impact nearly every part of your enterprise. From helping you connect data across business processes to holding the key to your most valuable assets, this underdog data is finally getting the attention it deserves.
But, according to a Dataversity report on Metadata, nearly a third of organizations have only begun to address managing this valuable data and a quarter have no metadata strategy at all.
Part of what has held organizations back is that metadata is notoriously sneaky data to manage, and even more difficult to put into action using traditional relational database technology.
This webinar will look at the critical importance of metadata and highlight mission critical metadata apps that have taken a new approach with enterprise NoSQL technology and semantic data models.
Organizations including commercial entities, intelligence agencies, and some of your favorite entertainment companies using this approach have made good on the promise of metadata, and this webinar will cover how you can make metadata the hero in your organization.
Valencian Summer School in Machine Learning 2017 - Day 2
Lecture 6: Time Series and Deepnets. By Charles Parker (BigML).
https://bigml.com/events/valencian-summer-school-in-machine-learning-2017
Lessons from an AWS outage and how to detect root cause of cloud service disr...ThousandEyes
Enterprise IT and Ops team are frequently challenged by complex cloud architectures that are continually evolving. As a result, your teams suffer from increased MTTI during fault diagnosis and are often left frustrated and helpless during a cloud outage.
Join this webinar to see an analysis of a recent AWS outage and the downstream implications a cloud outage can have on your service delivery and user experience. In this demonstration you will learn:
- Monitoring best practices to reduce MTTI during cloud outages
- Why APM and cloud-native tools like CloudWatch fall short
- How to hold cloud service providers accountable when something goes wrong
From Pipelines to Refineries: scaling big data applications with Tim HunterDatabricks
Big data tools are challenging to combine into a larger application: ironically, big data applications themselves do not tend to scale very well. These issues of integration and data management are only magnified by increasingly large volumes of data. Apache Spark provides strong building blocks for batch processes, streams and ad-hoc interactive analysis. However, users face challenges when putting together a single coherent pipeline that could involve hundreds of transformation steps, especially when confronted by the need of rapid iterations. This talk explores these issues through the lens of functional programming. It presents an experimental framework that provides full-pipeline guarantees by introducing more laziness to Apache Spark. This framework allows transformations to be seamlessly composed and alleviates common issues, thanks to whole program checks, auto-caching, and aggressive computation parallelization and reuse.
NLP-Focused Applied ML at Scale for Global Fleet Analytics at ExxonMobilDatabricks
Equipment maintenance log of the global fleet is traditionally maintained using legacy infrastructure and data models, which limit the ability to extract insights at scale. However, to impact the bottom line, it is critical to ingest and enrich global fleet data to generate data driven guidance for operations. The impact of such insights is projected to be millions of dollars per annum.
To this end, we leverage Databricks to perform machine learning at scale, including ingesting (structured and unstructured data) from legacy systems, and then sifting through millions of nonlinearly growing records to extract insights using NLP. The insights enable outlier identification, capacity planning, prioritization of cost reduction opportunities, and the discovery process for cross-functional teams.
From Mess To Masterpiece - JFokus 2017Sven Ruppert
How a migration to MicroServices could change the team, architecture and coding culture. What you could you do and how you could transform a "Jurassic Park" into a lightweight environment. In this talk we will explore the strategy, techniques, pattern and tools I used to transform a team and the architecture that was grown over 15yrs. This will be a mix of pattern, tools and techniques that was able to migrate old systems, used inside insurance and banks. We had to migrate fat systems with a few million lines of code...
How to find and fix your Oracle-based application performance problemCary Millsap
This session was presented 2016-01-28 at Dallas Oracle User's Group January meeting.
How long does your code take to run? Is it changing? When it is slow, WHY is it slow? Is it your fault, or somebody else's? Can you prove it? How much faster could your code be? Do you know how to measure the performance of your code as user workloads and data volumes increase? These are fundamental questions about performance, but the vast majority of Oracle application developers can't answer them. The most popular performance tools available to them—and to the database administrators that run their code in production—are incapable of answering any of these questions. But the Oracle Database can give you exactly what you need to answer these questions and many more. You can know exactly where YOUR CODE is spending YOUR TIME. This session explains how.
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp
ML.NET is an open source, machine learning framework built in .NET and runs on Windows, Linux and macOS. It allows developers to integrate custom machine learning into their applications without any prior expertise in developing or tuning machine learning models. Enhance your .NET apps with sentiment analysis, price prediction, fraud detection and more using custom models built with ML.NET
In this Session, Andy will show not only the core of ML.NET but best practices around Azure Data Lake and data in general when using .NET
Presented the hands-on session on “Introduction to Big Data Analysis” at Dayananda Sagar University. Around 150+ University students benefitted from this session.
Similar to “Performance” - Dallas Oracle Users Group 2019-01-29 presentation (20)
Innovative Specifications for Better Performance Logging and MonitoringCary Millsap
Imagine a car with no speedometer. There are speed limit signs and policemen all around with radar guns waiting to catch you speeding, but you have no way of knowing how fast you're going. Of course, a car like this has no openable hood (no bonnet), so to change the air filter, you have to hire a specialist to saw into the body of your car. A car like this would be preposterous. Yet people write software like this all the time.
The Oracle Database has some of the best performance logging features built into it of any software in the world. You can use it with any application—even applications that were built without logging and monitoring in mind. But you can go SO much further if you bother to include some performance logging features in your application. In this session, I explain Oracle's extended SQL tracing feature and describe how to enable and disable it. Then I show some innovative ideas that will help you design and build database applications that are easier to monitor, manage, and maintain throughout the software development life cycle.
In this talk about performance for the 2018-01-25 Dallas Oracle Users Group meeting, Cary Millsap talks about application design, ways to control Oracle sql_trace, measurement intrusion, and function interposition.
Oracle trace data collection errors: the story about oceans, islands, and riversCary Millsap
When you execute a business task on a computer system, you create an experience. The duration of this experience is called response time. The richest and easiest information about response time to obtain in the whole Oracle technology stack is available from the Oracle Database tier: Oracle's extended SQL trace data. But in almost 100% of first tries with using trace data, people make a data collection mistake that complicates their analysis. This is the story of that mistake.
Most important "trick" of performance instrumentationCary Millsap
This is the material from my 10-minute TED-style talk 2014-09-29 at OakTable World held in conjunction with Oracle OpenWorld 2014 in San Francisco. It explains the importance of assigning a unique id to the Oracle Database code path associated with each performance experience that users can have with your system
Among Oracle database administrators (DBAs), "Agile" is widely regarded as a dirty word, a synonym for "sloppy programming." But in the most commercially and technically successful projects I've ever worked on, the principles of the Agile Manifesto have defined our work (specifically, the implementation of the Agile Manifesto called Extreme Programming (XP), as explained by Kent Beck). In fact, further than that: the principles of Agile, implemented as XP, have profoundly enriched my entire life—not just professionally, but personally. The contradiction between the typical DBA's perception of "Agile" and my own is, thus, stunning.
This session describes my experiences with Agile values and our implementation of them. I describe the circumstances that have led me to believe passionately that it's XP that will best assure the success of my projects. I describe what has worked for me and why, and I describe what hasn't worked and why.
Diagnosability versus The Cloud, Redwood Shores 2011-08-30Cary Millsap
In our increasingly virtualized environments, it's ever more difficult to diagnose application defects—especially performance defects that affect response time or throughput expectations. Runtime diagnosis of defects can be an unbearably complicated problem to solve once the application is sealed up and put into production use. But having excellent runtime diagnostics is surprisingly easy if you design the diagnostic features into the application from its inception, as it is being grown, like you would with any other desired application feature.
Diagnosability versus The Cloud, Toronto 2011-04-21Cary Millsap
In our increasingly virtualized environments, it's ever more difficult to diagnose application defects—especially performance defects that affect response time or throughput expectations. Runtime diagnosis of defects can be an unbearably complicated problem to solve once the application is sealed up and put into production use. But having excellent runtime diagnostics is surprisingly easy if you design the diagnostic features into the application from its inception, as it is being grown, like you would with any other desired application feature.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
2. 2@CaryMillsap
2020
2015
2010
2005
2000
1995
1990
1985
100 45
6
3
hotsos
Method R
TM
Optimal Flexible Architecture
Oracle APS
System Pe ormance Group
Method R Profiler
Method R Tools
Method R Trace
The definitive guide to accurate, high-precision
measurement of user performance experiences,
for Oracle application developers and database
administrators.
Cary V. Millsap
TM
MeTHOD R
TM
The Guide to
MASTERING
ORACLE
TRACE DATA
Second Edition
REVISED
UPDA
TED
NEW PA
G
ES
1 3 2
Method R Workbench
TRASIR
SimDiff
Cary Millsap
6. @CaryMillsap
There are only two possible root causes for
any response time problem:
Call count is too big.
Latency is too big.*
* Probably because someone else’s call counts are too big.
6
7. @CaryMillsap
Proof
Any duration can be expressed as a
sum of its spanning, non-overlapping
component durations, in a form called
a profile.
The only way that d can be too large is
for some ci or ri to be too large.
7
Component
Call
count
Mean
latency Duration
1 c1 r1 d1 = c1 r1
2 c2 r2 d2 = c2 r2
… … … …
n cn rn dn = cn rn
Total d =
n
∑
i = 1
ci ri
8. @CaryMillsap
Example: di = ci ri
CALL-NAME DURATION CALLS MEAN
----------------------------- ---------- ----- --------
PARSE 735.426197 698 1.053619
SQL*Net message from client 104.762229 1,378 0.076025
FETCH 91.800028 680 0.135000
db file sequential read 0.104670 14 0.007476
EXEC 0.083988 349 0.000241
gc cr block 2-way 0.073233 96 0.000763
gc current block 2-way 0.031298 47 0.000666
gc current grant busy 0.028037 47 0.000597
SQL*Net more data from client 0.025819 837 0.000031
CLOSE 0.018999 698 0.000027
12 others 0.061576 1,633 0.000038
----------------------------- ---------- ----- --------
TOTAL (22) 932.416074 6,477 0.143958
8
d =
n
∑
i = 1
ci ri =
d1 = c1 = r1 =
9. @CaryMillsap
di = ci ri is a line, right?
Meaning, for
example, if the call
count doubles, then
duration doubles,
too, right?
Wrong.
9
0
1
2
3
4
5
Call count (ci)
Duration(di)
10. @CaryMillsap
di = ci ri is a hyperbola
Each ri is a
complicated
function of call count
(ci) and other inputs.
10
0
1
2
3
4
5
Call count (ci)
Duration(di)
12. @CaryMillsap
What does this mean?
Adding load can
cause your
durations to
skyrocket.
Subtracting load
can cause your
durations to
plummet.
12
0
1
2
3
4
5
Call count (ci)
Duration(di)
13. @CaryMillsap
So, your two tools…
➊ There are only two possible root causes
for any response time problem
Call count
Latency
➋ Call count is more important
13
15. @CaryMillsap
The problem
We have this batch job. It processes pretty much the same amount of
data every time we run it. It usually runs in a little over an hour, but
sometimes—out of the blue—it’ll run nearly two and a half hours. We
have no idea when it’s going to happen. There must be a pattern to it;
we just can’t figure out what it is. It was slow last Tuesday, but it’s not
slow every Tuesday. It’s slow sometimes between three and four
o’clock, but not always, and sometimes it’s slow at other times. We
thought maybe it was interference with our daily batch jobs, but we’ve
proven that that’s not it, either. We just can’t correlate it to anything…
15
19. @CaryMillsap
Why a baseline?
Learning how to trace it at all may not be trivial
Figure that out first
“Catch it in the act” is a separate problem
You may be able to find your problem, even with just the
baseline
19
23. @CaryMillsap
That could have been it!
If read call latencies degrade to 5 ms, then the job will run 2× longer.
Interesting discovery.
Does it prove what happened on Tuesday?
23
24. @CaryMillsap
Call to action
What is your real goal?
Understand last Tuesday?
Job never again runs twice as long?
Do you need a caught-in-the-act trace file to do anything productive?
This job is sensitive to read latencies. That is important.
What’s your plan?
24
25. @CaryMillsap
Discussion
1. How would you learn whether it really is spikes in disk I/O demand that are
actually causing the intermittent job slowdowns?
2. What data in the trace file would you study to determine whether the job
itself is executing more read calls than it should?
3. Imagine that the trace of the job running quickly had been collected on a
non-production system. How would this have limited your analysis?
4. Are all applications with high call counts susceptible to latency sensitivity
like in this example? Why or why not?
5. What kind of changes to your application would make it easier to catch the
job in the act of being slow?
25
27. @CaryMillsap
The problem
A program inserts 5,000 rows into a table. The program makes a
mistake that I’ve seen lots of developers make. A script fired off
two simultaneous executions of this program on a single-core
Windows laptop. Each program ran for about 12 s.
27
29. @CaryMillsap
Profile by SQL statement
insert into parse2 values (1, lpad('1',20))
insert into parse2 values (2, lpad('2',20))
insert into parse2 values (3, lpad('3',20))
…
insert into parse2 values (5000, lpad('5000',20))
29
30. @CaryMillsap
The code
# Baseline: BAD
for each value in some set of 5,000 values {
sql = sprintf("insert into parse2 values (%s, lpad('%s',20))", value, value);
cursor = parse(sql);
result = exec(cursor) or die;
}
commit;
30
31. @CaryMillsap
The code
# Baseline: BAD
for each value in some set of 5,000 values {
sql = sprintf("insert into parse2 values (%s, lpad('%s',20))", value, value);
cursor = parse(sql);
result = exec(cursor) or die;
}
commit;
# Improved: BETTER
cursor = parse("insert into parse2 values (?, lpad(?,20))";
for each value in some set of 5,000 values {
result = exec(cursor, value, value) or die;
}
commit;
31
40. @CaryMillsap
Discussion
1. Why does duration per call depend on load? Why does load depend on call
counts?
2. Why did the duration per call drop so much?
3. What would it have taken to more accurately predict the duration per call
changes resulting from our improvement to the code?
4. Why would anyone write code like the baseline code in this story?
5. What other kinds of performance problems can you envision the baseline
code having, under conditions of higher concurrency?
6. Are we finished optimizing this program with just the changes I’ve suggested
in the slides? What else could we do to make this program run faster?
40
42. @CaryMillsap
For more information…
42
The definitive guide to accurate, high-precision
measurement of user performance experiences,
for Oracle application developers and database
administrators.
Cary V. Millsap
TM
MeTHOD R
TM
The Guide to
MASTERING
ORACLE
TRACE DATA
Second Edition
REVISED
UPDA
TED
NEW PA
G
ES
1 3 2
Available at
The definitive guide to accurate, high-precision
measurement of user performance experiences,
for Oracle application developers and database
administrators.
Cary V. Millsap
Method R
TM
The Guide to
MASTERING
ORACLE
TRACE DATA
Third Edition
MASTERINGORACLETRACEDATAThirdEditionCaryV.MillsapMethodR
TM
Method R Corporation
http://method-r.com
info@method-r.com
@MethodR
The Guide to
MASTERING ORACLE TRACE DATA
Third Edition
• Explains how to create Oracle trace files and understand the stories
they tell you about your applications and the time they consume
• Prescribes a reliable method for optimizing Oracle-based applications
throughout all the phases of your software development life cycle
• Demonstrates through worked examples how Oracle application
developers and database administrators can use Oracle trace data and
Method R software to solve and prevent performance problems
• Contains more than 50 pages of new material, including new worked
examples, new information about production-safe tracing, state-of-the-art
information about measuring connection pooling applications, and more
A rare and treasured skill is the ability to look a system’s user or its owner
square in the eye and talk bluntly about performance: How long are the users’
experiences with the system taking? Why? What would be the effect on each
user’s response times if you were to make this change or that change? What
else could you do? Are your programs running as fast as they can?
This book teaches you how to do that.
The first time I used Method R and their software, I reduced the run time
of one query from 61/2 hours to less than 11 minutes. In the years since, I’ve
used it to save a system three years’ worth of work by reducing a query’s
runtime from 2.0 to 0.2 seconds, to demonstrate that anti-virus software
was causing unnecessary delays in an application whose vendor had blamed
the Oracle Database, and to save an international airline over a quarter
of a million dollars on an upgrade that was destined to disappoint them.
Method R is the simplest and most effective way to achieve such results.
—Guðmundur Jósepsson
CEO, Miracle Iceland
COMING
SOON!
Available at
44. @CaryMillsap
One-day training course
Tuesday 26 March 2019
Galleria Dallas
contact gfeinberg@cintra.com
44
The definitive guide to accurate, high-precision
measurement of user performance experiences,
for Oracle application developers and database
administrators.
Cary V. Millsap
Method R
TM
The Guide to
MASTERING
ORACLE
TRACE DATA
Third Edition
MASTERINGORACLETRACEDATAThirdEditionCaryV.MillsapMethodR
TM