This session illustrates the different tools available in SQL Anywhere to analyze performance issues, as well as describes the most common types of performance problems encountered by database developers and administrators. We also take a look at various tips and techniques that will help boost the performance of your SQL Anywhere database.
An In-Depth Look at SAP SQL Anywhere Performance FeaturesSAP Technology
This presentation examines the internal mechanism behind SQL Anywhere’s self-management and self-tuning functionality. Topics covered will illustrate how the various performance features, such as server cache management, self-healing statistics and dynamic multiprogramming level, work in concert to provide a robust data management solution in zero-administration environments.
This lecture will include examples of how to use some of SQL Anywhere's lesser known but incredibly powerful functionality to deliver applications that can do more for your customers. Features discussed will include the SQL Anywhere http server, using external environments to call Java/C++/.Net libraries, materialized views, and more.
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0WSO2
APIs now serve as the primary building blocks for assembling data, events, and services from within the organization, throughout ecosystems, and across devices. Integrated legacy systems and support for modern event-driven architectures, on the other hand, are critical in allowing timely, relevant digital experiences in response to customer behavior. To support these demands, WSO2 has added significant new capabilities to WSO2 API Manager 4.0.0.
Complete support for streaming APIs and event-driven architecture (EDA)
The first solution to support full implementation of the AsyncAPI specification
A Service Catalog to enable developers to discover a given service seamlessly
API / API product revisioning to keep track of the changes
Feature-rich, cloud-based analytics for easy integration
You will gain a full understanding of WSO2 API Manager 4.0.0 features and how they cater to current API Management demands by attending this webinar.
DURING THE WEBINAR, WE WILL COVER:
Experience the power and synergy of Service Integration and API Management in a fully functional API ecosystem
Understand the motivation behind WSO2 API Manager 4.0.0 release
New streaming and event-driven architecture support available in API Manager 4.0.0
Learn the importance of catering all API Management and integration demands with one connected platform
Explore other new features and enhancements to the product
Github - Git Training Slides: FoundationsLee Hanxue
Slide deck with detailed step breakdown that explains how git works, together with simple examples that you can try out yourself. Slides originated from http://teach.github.com/articles/course-slides/
Author: https://twitter.com/matthewmccull
An In-Depth Look at SAP SQL Anywhere Performance FeaturesSAP Technology
This presentation examines the internal mechanism behind SQL Anywhere’s self-management and self-tuning functionality. Topics covered will illustrate how the various performance features, such as server cache management, self-healing statistics and dynamic multiprogramming level, work in concert to provide a robust data management solution in zero-administration environments.
This lecture will include examples of how to use some of SQL Anywhere's lesser known but incredibly powerful functionality to deliver applications that can do more for your customers. Features discussed will include the SQL Anywhere http server, using external environments to call Java/C++/.Net libraries, materialized views, and more.
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0WSO2
APIs now serve as the primary building blocks for assembling data, events, and services from within the organization, throughout ecosystems, and across devices. Integrated legacy systems and support for modern event-driven architectures, on the other hand, are critical in allowing timely, relevant digital experiences in response to customer behavior. To support these demands, WSO2 has added significant new capabilities to WSO2 API Manager 4.0.0.
Complete support for streaming APIs and event-driven architecture (EDA)
The first solution to support full implementation of the AsyncAPI specification
A Service Catalog to enable developers to discover a given service seamlessly
API / API product revisioning to keep track of the changes
Feature-rich, cloud-based analytics for easy integration
You will gain a full understanding of WSO2 API Manager 4.0.0 features and how they cater to current API Management demands by attending this webinar.
DURING THE WEBINAR, WE WILL COVER:
Experience the power and synergy of Service Integration and API Management in a fully functional API ecosystem
Understand the motivation behind WSO2 API Manager 4.0.0 release
New streaming and event-driven architecture support available in API Manager 4.0.0
Learn the importance of catering all API Management and integration demands with one connected platform
Explore other new features and enhancements to the product
Github - Git Training Slides: FoundationsLee Hanxue
Slide deck with detailed step breakdown that explains how git works, together with simple examples that you can try out yourself. Slides originated from http://teach.github.com/articles/course-slides/
Author: https://twitter.com/matthewmccull
* What is different GitHub Flow and Git Flow?
* What is GitHub Actions?
* How to write the simple workflow?
* What's problem in GitHub Actions UI?
* What's problem with Secrets in GitHub Actions?
* How to write your first GitHub Actions and upload to the marketplace?
* What's a problem with environment variables in GitHub Actions?
Revisiting CephFS MDS and mClock QoS SchedulerYongseok Oh
This presents the CephFS performance scalability and evaluation results. Specifically, it addresses some technical issues such as multi core scalability, cache size, static pinning, recovery, and QoS.
ROCm and Distributed Deep Learning on Spark and TensorFlowDatabricks
ROCm, the Radeon Open Ecosystem, is an open-source software foundation for GPU computing on Linux. ROCm supports TensorFlow and PyTorch using MIOpen, a library of highly optimized GPU routines for deep learning. In this talk, we describe how Apache Spark is a key enabling platform for distributed deep learning on ROCm, as it enables different deep learning frameworks to be embedded in Spark workflows in a secure end-to-end machine learning pipeline. We will analyse the different frameworks for integrating Spark with Tensorflow on ROCm, from Horovod to HopsML to Databrick's Project Hydrogen. We will also examine the surprising places where bottlenecks can surface when training models (everything from object stores to the Data Scientists themselves), and we will investigate ways to get around these bottlenecks. The talk will include a live demonstration of training and inference for a Tensorflow application embedded in a Spark pipeline written in a Jupyter notebook on Hopsworks with ROCm.
"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG🎤 Hanno Embregts 🎸
What source control software did you use in 2010? Possibly Git, if you were an early adopter or a Linux kernel committer. But chances are you were using Subversion, as this was the product of choice for the majority of the software developers. Ten years later, Git is the most popular product. Which makes me wonder: what will we use another ten years from now?
In this talk we will think about what features we want from our source control software in 2030. More speed? Better collaboration support? No merge conflicts ever?
I’ll also discuss a few products that have been published after Git emerged, including Plastic, Fossil and Pijul. I’ll talk about the extent to which they contain the features we so dearly desire and I’ll demonstrate a few typical use cases. To conclude, I’ll try to predict which one will be ‘the top dog’ in 2030 (all information is provided “as is”, no guarantees etc. etc.).
So attend this session if you’re excited about the future of version control and if you want to have a shot at beating even (!) the early adopters. Now if it turns out I was right, remember that you heard it here first.
High-performance 32G Fibre Channel Module on MDS 9700 Directors:Tony Antony
To better serve the new application requirements, Cisco is introducing a New high-performance Analytics ready 32G Fibre Channel Module on MDS 9700 Directors and a new 32G Host Bus Adapter for UCS C-series. The end to end 32G FC support across Cisco DC platforms set new standards for Storage Networking providing customers with choice. Along with this announcement, Cisco is also announcing NVMe over Fabric support on MDS 9000 Series enabling customers to take advantage of the performance and low latency benefits offered by the new technology to scale efficiently in the post-flash environments.
Synchronizing Data in SAP HANA Using SAP SQL AnywhereSAP Technology
By enabling mobile and remote applications to synchronize enterprise data to and from SAP HANA, companies gain a significant competitive advantage as decisions can be made using real-time available information. In this session, attendees will learn how to design and implement a solution that acquires data from a wide range of applications (sales force automation, telematics, etc.) and synchronize that data to an SAP HANA database. Sample applications are used to demonstrate the synchronization mechanism.
OData is becoming the "Lingua Franca" for data exchange across the internet. Serve up OData web services from most relational database backends requires a web server and 3rd-party custom components that translate OData calls into SQL statements (and vice-versa). SQLAnywhere 16.0 introduced a new OData Producer that does all this work for you automatically. This session will walk throught the setup and configuration of this new server process, and show real world examples on how to use it.
Deployment and Development approaches for the ISV using PowerBuilder and SQL ...SAP Technology
PowerBuilder has always been very agnostic in the fact that it had the capability to connect to practically every database on the market. However, when it comes to the ISV, and wanting to the ability to integrate and deploy a powerful feature rich database within their application, SQL Anywhere stands out as one of the most powerful databases to integrate within your PowerBuilder applications. In this session we will discuss development features that will take you beyond the standard CRUD model used with attaching to databases. We will also discuss approaches to deploying a PowerBuilder application that is bundled with SQL Anywhere, and how certain deployment models can lead to an extremely easy to support application environment with both products.
Building ISV Applications that run in the cloud with SQL Anywhere On-Demand E...SAP Technology
This lecture discusses how ISVs in the traditional shrink-wrapped software market can move to the cloud and provide SaaS solutions to their customers with SQL Anywhere on-demand edition providing their data managment platform. We discuss some of the reasons why an ISV and their customers would want to move to a SaaS model, some of the barriers that make this difficult for established ISV's and demonstrate how with SQL Anywhere on-demand edition ISVs can build, deploy, and manage cloud applications.
Big Data, Big Thinking: Simplified Architecture Webinar Fact SheetSAP Technology
How can you handle the complexities of Big Data while simplifying your IT architecture? In this webinar, SAP’s Dr Mark von Kopp and Bernard Doering from Cloudera reveal why Big Data is about more than the “3 Vs” and how to create a unified data management framework that will actively streamline your IT landscape.
Take a look at this fact sheet to discover the future of Big Data now.
More information at http://www.sapbigdatabigthinking.com/
* What is different GitHub Flow and Git Flow?
* What is GitHub Actions?
* How to write the simple workflow?
* What's problem in GitHub Actions UI?
* What's problem with Secrets in GitHub Actions?
* How to write your first GitHub Actions and upload to the marketplace?
* What's a problem with environment variables in GitHub Actions?
Revisiting CephFS MDS and mClock QoS SchedulerYongseok Oh
This presents the CephFS performance scalability and evaluation results. Specifically, it addresses some technical issues such as multi core scalability, cache size, static pinning, recovery, and QoS.
ROCm and Distributed Deep Learning on Spark and TensorFlowDatabricks
ROCm, the Radeon Open Ecosystem, is an open-source software foundation for GPU computing on Linux. ROCm supports TensorFlow and PyTorch using MIOpen, a library of highly optimized GPU routines for deep learning. In this talk, we describe how Apache Spark is a key enabling platform for distributed deep learning on ROCm, as it enables different deep learning frameworks to be embedded in Spark workflows in a secure end-to-end machine learning pipeline. We will analyse the different frameworks for integrating Spark with Tensorflow on ROCm, from Horovod to HopsML to Databrick's Project Hydrogen. We will also examine the surprising places where bottlenecks can surface when training models (everything from object stores to the Data Scientists themselves), and we will investigate ways to get around these bottlenecks. The talk will include a live demonstration of training and inference for a Tensorflow application embedded in a Spark pipeline written in a Jupyter notebook on Hopsworks with ROCm.
"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG🎤 Hanno Embregts 🎸
What source control software did you use in 2010? Possibly Git, if you were an early adopter or a Linux kernel committer. But chances are you were using Subversion, as this was the product of choice for the majority of the software developers. Ten years later, Git is the most popular product. Which makes me wonder: what will we use another ten years from now?
In this talk we will think about what features we want from our source control software in 2030. More speed? Better collaboration support? No merge conflicts ever?
I’ll also discuss a few products that have been published after Git emerged, including Plastic, Fossil and Pijul. I’ll talk about the extent to which they contain the features we so dearly desire and I’ll demonstrate a few typical use cases. To conclude, I’ll try to predict which one will be ‘the top dog’ in 2030 (all information is provided “as is”, no guarantees etc. etc.).
So attend this session if you’re excited about the future of version control and if you want to have a shot at beating even (!) the early adopters. Now if it turns out I was right, remember that you heard it here first.
High-performance 32G Fibre Channel Module on MDS 9700 Directors:Tony Antony
To better serve the new application requirements, Cisco is introducing a New high-performance Analytics ready 32G Fibre Channel Module on MDS 9700 Directors and a new 32G Host Bus Adapter for UCS C-series. The end to end 32G FC support across Cisco DC platforms set new standards for Storage Networking providing customers with choice. Along with this announcement, Cisco is also announcing NVMe over Fabric support on MDS 9000 Series enabling customers to take advantage of the performance and low latency benefits offered by the new technology to scale efficiently in the post-flash environments.
Synchronizing Data in SAP HANA Using SAP SQL AnywhereSAP Technology
By enabling mobile and remote applications to synchronize enterprise data to and from SAP HANA, companies gain a significant competitive advantage as decisions can be made using real-time available information. In this session, attendees will learn how to design and implement a solution that acquires data from a wide range of applications (sales force automation, telematics, etc.) and synchronize that data to an SAP HANA database. Sample applications are used to demonstrate the synchronization mechanism.
OData is becoming the "Lingua Franca" for data exchange across the internet. Serve up OData web services from most relational database backends requires a web server and 3rd-party custom components that translate OData calls into SQL statements (and vice-versa). SQLAnywhere 16.0 introduced a new OData Producer that does all this work for you automatically. This session will walk throught the setup and configuration of this new server process, and show real world examples on how to use it.
Deployment and Development approaches for the ISV using PowerBuilder and SQL ...SAP Technology
PowerBuilder has always been very agnostic in the fact that it had the capability to connect to practically every database on the market. However, when it comes to the ISV, and wanting to the ability to integrate and deploy a powerful feature rich database within their application, SQL Anywhere stands out as one of the most powerful databases to integrate within your PowerBuilder applications. In this session we will discuss development features that will take you beyond the standard CRUD model used with attaching to databases. We will also discuss approaches to deploying a PowerBuilder application that is bundled with SQL Anywhere, and how certain deployment models can lead to an extremely easy to support application environment with both products.
Building ISV Applications that run in the cloud with SQL Anywhere On-Demand E...SAP Technology
This lecture discusses how ISVs in the traditional shrink-wrapped software market can move to the cloud and provide SaaS solutions to their customers with SQL Anywhere on-demand edition providing their data managment platform. We discuss some of the reasons why an ISV and their customers would want to move to a SaaS model, some of the barriers that make this difficult for established ISV's and demonstrate how with SQL Anywhere on-demand edition ISVs can build, deploy, and manage cloud applications.
Big Data, Big Thinking: Simplified Architecture Webinar Fact SheetSAP Technology
How can you handle the complexities of Big Data while simplifying your IT architecture? In this webinar, SAP’s Dr Mark von Kopp and Bernard Doering from Cloudera reveal why Big Data is about more than the “3 Vs” and how to create a unified data management framework that will actively streamline your IT landscape.
Take a look at this fact sheet to discover the future of Big Data now.
More information at http://www.sapbigdatabigthinking.com/
Big Data, Big Thinking: Untapped OpportunitiesSAP Technology
In this webinar factsheet, SAP’s Rohit Nagarajan and Suni Verma from Ernst & Young explore Big Data in India, adoption patterns across the globe, and how you can embark on your own Big Data journey.
Tomorrow’s industry leaders are the ones that draw new insights by creatively combining the data they have today. That can be a real challenge for most companies, especially since data types and volumes have grown astronomically over the last decade. And when you pair that with the tasks of gathering, organizing, and managing information from all over an organization and ensuring its accuracy, you have quite a job on your hands. But with our comprehensive portfolio of enterprise information management solutions, your business can unlock the power of its data, achieve entirely new insights, and use them to create a winning future.
This lecture will discuss and demonstrate how SQL Anywhere can be used in Internet of Things scenarios. Learn how to leverage the full power of SQL Anywhere in applications that run on single board computers like the Raspberry Pi. Topics discussed will include an overview of IoT, deployment and setup of SQL Anywhere on single board computers, and an example application to demonstrate the powerful and flexible applications that can be run anywhere and synchronize data back to an enterprise data source such as Hana Cloud Platform.
Storage Optimization and Operational Simplicity in SAP Adaptive Server Enter...SAP Technology
This presentation will discuss the key storage optimization and operational simplicity features available in SAP ASE and introduce enhancements such as heat map providing the capability to move data to high/low performing storage devices based on access patterns.
Leveraging SAP ASE Workload Analyzer to optimize your database environmentSAP Technology
New functionality in SAP ASE allows you to capture, analyze and replay a production workload in a non-disruptive manner. Learn how to capture a workload on your production system, analyze the characteristics of the workload, and then replay it on a testing environment. See how quickly you can analyze the impact of changes in configuration parameters on application performance. Use real-life scenarios to determine the optimal configuration for your database.
This session will take a look at when/how query optimization takes place, the resources used for query optimization, the role of index statistics and common application query problems (other than simplistic missing indexes) that lead to DBA’s assuming there is a query optimization issue.
Exploring Neo4j Graph Database as a Fast Data Access LayerSambit Banerjee
This article describes the findings of an extensive investigative work conducted to explore the feasibility of using a Neo4j Graph Database to build a Fast Data Access Layer with near-real time data ingestion from the underlying source systems.
Consolidation, cloud privé, cloud public, SQL As A Service etc. sont autant de scénarios de virtualisation possibles avec SQL Server. Cette session reposera les règles de bon usage de ce type de déploiement et les scénarios clés. Nous reviendrons sur quelques-unes des « Lessons learned from Azure ».
Consolidation, cloud privé, cloud public, SQL As A Service etc. sont autant de scénarios de virtualisation possibles avec SQL Server. Cette session reposera les règles de bon usage de ce type de déploiement et les scénarios clés. Nous reviendrons sur quelques-unes des « Lessons learned from Azure ».
Presentation on the work executed by Stefano Doni of Moviri regarding the analysis of Oracle Workloads using deeper characterization than the common "by instance" or "by process" technique
AI Solutions for Industries | Quality Inspection | Data Insights | AI-accelerated CFD | Self-Checkout | byteLAKE.com
byteLAKE: Empowering Industries with AI Solutions. Embrace cutting-edge technology for advanced quality inspection, data insights, and more. Harness the potential of our CFD Suite, accelerating Computational Fluid Dynamics for heightened productivity. Unlock new possibilities with Cognitive Services: image analytics for precise visual inspection for Manufacturing, sound analytics enabling proactive maintenance for Automotive, and wet line analytics for the Paper Industry. Seamlessly convert data into actionable insights using Data Insights' AI module, enabling advanced predictive maintenance and risk detection. Simplify Restaurant and Retail operations with our efficient self-checkout solution, recognizing meals and groceries and elevating customer satisfaction. Custom AI Development services available for tailored solutions. Discover more at www.byteLAKE.com.
► byteLAKE's CFD Suite: Accelerate your Computational Fluid Dynamics (CFD) simulations by leveraging the speed and efficiency of artificial intelligence. Slash simulation times, minimize trial-and-error costs, and supercharge decision-making for heightened productivity. Learn more at www.byteLAKE.com/en/CFDSuite.
Learn how to combine parallel processing, disk usage, memory adjustment and index rebuild.
This session will show how Caixa Economica Federal achieved a real reduction from 100 hours to 6 hours in a index for a table with 1 TB of size
This presentatio highlights the enhancements planned for SAP ASE to support multi-tenancy and other requirements for cloud deployments. It will also highlight capabilities to support database-as-a-service, along with how SAP ASE can be used with popular solutions provided by infrastructure-as-a-service providers.
Similar to Maximizing Database Tuning in SAP SQL Anywhere (20)
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...SAP Technology
Automating repetitive manual business processes enables your employees to focus on key business priorities, reduce manual errors, and improve customer satisfaction. Learn how SAP Intelligent Robotic Process Automation helps you automate SAP S/4HANA business processes with pre-built bots and comprehensive development toolset.
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...SAP Technology
SAP Intelligent Robotic Processes Automation (RPA) is designed to automate SAP S/4HANA processes and comes with prebuilt bots to accelerate automation. Enable employees to focus on higher priority tasks, reduce manual errors, and increase customer satisfaction by automating repetitive manual SAP S/4HANA process steps using SAP Intelligent RPA.
Extend SAP S/4HANA to deliver real-time intelligent processesSAP Technology
Accelerate your journey towards an intelligent enterprise. Extend SAP S/4HANA with SAP’s business technology platform to make data from all sources available to business applications and analytics, deliver real-time insights to act quickly, augment intelligence, and enable breakthrough innovations.
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...SAP Technology
As you move to SAP S/4HANA, take this opportunity to optimize and automate your business processes to become an intelligent enterprise. With SAP’s business technology platform, you can understand your processes, integrate SAP and non-SAP apps with S/4HANA and help your knowledge works focus on higher-value tasks by automating repetitive manual tasks.
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology PlatformSAP Technology
Best run companies are already benefiting from SAP S/4HANA. Move to SAP S/4HANA quickly with confidence. SAP EIM and SAP Cloud Platform capabilities help you migrate data, curate, and govern master data, archive unused data, move custom code. With performance, functional, and security test tools, customers can move to SAP S/4HANA with confidence.
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...SAP Technology
Manage rapidly evolving business processes with greater ease. Minimize complex, time-consuming updates. Reduce high maintenance costs. Discover how enterprise IT teams are conquering the challenges of migrating from legacy ERP systems and innovating faster with SAP Cloud Platform and SAP S/4HANA.
Transform your business with intelligent insights and SAP S/4HANASAP Technology
Extend SAP S/4HANA with SAP’s Business Technology Platform to enable digital transformation through data-driven intelligence and process innovation. Learn how SAP’s Business Technology Platform delivers unprecedented opportunities for business process innovation.
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...SAP Technology
Keep SAP S/4HANA clean to deliver a stable digital core and accelerate innovations. Leverage SAP Cloud Platform for SAP S/4HANA integration with SAP and non-SAP applications, side-by-side extensions, and innovations so that you can accelerate your move to SAP S/4HANA, deliver a stable S/4HANA system, and offer an agile development.
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...SAP Technology
Learn how SAP Jam Collaboration together with SAP Cloud Platform helps you to transform your existing applications by enabling collaboration inside applications and allows you to innovate next-generation collaborative applications. SAP Jam Collaboration also simplifies application development by providing a single platform to brainstorm, collaborate, share documents and track progress and streamline application roll-out and support by providing a place to share training material and self-service support forums. With SAP Jam Collaboration, you can also build a modern intranet with collaboration capabilities which is easy to update and accessible from mobile and outside corporate network. You can simplify IT landscape by consolidating software solutions such as document storage systems, blogging platform, wikis, collaboration platform and real-time messaging tools using SAP Jam Collaboration.
This presentation talks about how SAP S/4HANA can empower finance to strategically guide your business evolution via instant insights, intuitive user experience, and a flexible non-disruptive platform.
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANASAP Technology
Don’t burn extra resources. Read on to discover five reasons to fly direct to SAP S/4HANA instead of adding a layover at SAP Suite on Hana (SoH) on the way.
SAP Helps Reduce Silos Between Business and Spatial DataSAP Technology
Discover how spatial solutions from SAP can help your business leverage geographic and spatial data to deliver location intelligence, increase insight, and improve efficiency. Solutions include SAP HANA, SAP BusinessObjects Analytics, SAP Geographical Enablement Framework, SAP GEO.e, Galigeo.
This presentation is a supplement to the "Why SAP HANA?" video on Youtube. Download and follow along to the video. An added bonus to this presentation is an Appendix and Presentation Notes slides.
Video Link: https://www.youtube.com/watch?v=VCEr9Y8ZrVQ
Spotlight on Financial Services with Calypso and SAP ASESAP Technology
Capital markets solutions from Calypso and SAP ASE can help your organization reduce the total number of systems in use, simplify business architecture, streamline processes, and improve efficiency – all while reducing total cost of ownership.
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.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
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!
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
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.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
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.
When stars align: studies in data quality, knowledge graphs, and machine lear...
Maximizing Database Tuning in SAP SQL Anywhere
1. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
SQL Anywhere Performance
and Tuning
Jason Hinsperger
Sr. Product Manager
SAP
2. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Agenda
Performance Analysis
Example of Analysis
Graphical Plan Viewer
Performance Timing Utilities
Types of Performance Problems
Communication Patterns
I/O Bound Applications
CPU-Bound Applications
Concurrency Bound Applications
Performance Tips
3. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
PERFORMANCE ANALYSIS
4. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Primary SQL Anywhere Performance Factors
• Application patterns
• Server cache size
• Current cache contents (cold, warm, hot)
• Server multiprogramming level (-gn/gnh command line switch)
• Number of CPUs available for server thread execution (license dependent)
• Database working set size
• Speed and configuration of the server’s disk subsystem
• Workload characteristics: transaction inter-arrival rate, number of connections, workload mix
• Database page size
• There can be other secondary factors
4
5. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Detecting Performance Problems
Systematic approach to the problem: “My application is slow – what do I do!?”
Poor performance happens because some resource is maxed out
o Limiting resource at machine-level:
I/O bandwidth
CPU cycles
o Machine might have more I/O or CPU available in parallel
But server might not be able to use it in parallel concurrency-bound
Several types of bottlenecks:
o Client Application Issues
o IO-Bound
o CPU-Bound
o Concurrency-Bound
6. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
SQL Anywhere Performance Analysis Tools
SQL Anywhere Profiling tool
Combines functionality of several separate tools (which can also be used individually)
o Request logging
o Procedure profiling
o Graphical plan capturing
o Index consultant
o Statistics monitoring
Can help determine whether problem is occurring at server or client
Event tracing can be more targeted
Can trace specific events of interest (including graphical plans)
Can use sp_read_etd() from within the server
7. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Agenda
Performance Analysis
Example of Analysis
Graphical Plan Viewer
Performance Timing Utilities
Types of Performance Problems
Communication Patterns
I/O Bound Applications
CPU-Bound Applications
Concurrency Bound Applications
Performance Tips
8. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Every Sunday at 09:00, everything gets slow!
Identify what statements are executing during the problem period
Compare min/avg/max times for “good” periods with “problem” period
Use sa_conn_info and sa_conn_activity, sa_performance_diagnostics
Look for statements, ReqTimeBlockIO, ReqCountBlockLock,
ReqCountBlockContention
Find procedure / statement with the biggest difference from good to bad
Look for locking issues
Consider other activity on server or network (backups, reconfiguring routers, …)
Compare execution plans
Why would the optimizer ever choose a sequential scan?
Look at predicate selectivity, cache contents
Look at index clustering statistics in sysphysidx (seq_transitions, rand_transitions)
9. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Agenda
Performance Analysis
Example of Analysis
Graphical Plan Viewer
Performance Timing Utilities
Types of Performance Problems
Communication Patterns
I/O Bound Applications
CPU-Bound Applications
Concurrency Bound Applications
Performance Tips
10. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Graphical Plan Viewer
11. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Graphical Query Plans
Displays, in graphical format, a detailed execution plan for a query
An execution plan appears as a tree of physical operators
• For example, hash joins, table scans, sorts
• Edge thickness represents number of rows generated by the child operator
• Box colour represents relative cost of operator from “fast” to “slow”
• Can click on any operator in the tree to get detailed information
12. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Graphical Query Plans
Some things to look for:
• Predicate selectivities
o Are the selectivities reasonable?
o What is the source for the reported selectivity?
• Join selectivities: PK-FK constraints, etc.
o Always use Foreign Keys when you can
• Check optimization goal
• Index scan for order-by when optimizing for response (‘first-row’)
o Best to use an index, if one exists, unless small sort
o Consider adding one otherwise
13. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Graphical Query Plans
More things to look for:
• Check data currently in cache
o Sequential scans usually better than index scans when cache is cold
o Index scans will almost always do well with hot cache
o (Index probes often better than either seq scan or index scan)
If retrieving a lot of rows, seq scan may be better (40:1 on table pages)
• Look for expensive sub-queries
• Estimated vs. actual values (if plan built “with statistics”)
o Row counts
o Execution costs
14. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Comparing Graphical Plans
Choose two saved
plans
Manually match some
nodes
Highlights differences
Consider cached pages
Look for row count /
selectivities
15. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Compare Graphical Plans (cont)
Consider differences
Row counts are usually
important
Selectivity
differences
Look for option / config
diff
16. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Agenda
Performance Analysis
Example of Analysis
Graphical Plan Viewer
Performance Timing Utilities
Types of Performance Problems
Communication Patterns
I/O Bound Applications
CPU-Bound Applications
Concurrency Bound Applications
Performance Tips
17. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Performance Timing Utilities
What?
• Some utilities available for testing performance
• Provide an indication of “laws of physics” given the server and db configurations
When?
• Use these tools, not graphical plan with statistics, for accurate timings
How?
• Available in %SQLANYSAMP16%
• Complete documentation in Readme.txt in the same folder as the utility
18. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
The dbping System Utility
The dbping utility can be used to estimate the latency of the connection
With –s (and –st) it will also measure more detailed statistics
Statistic Description
DBLib connect and disconnect The time to perform one DBLib connect and disconnect
Round trip simple request The time it takes to send a request from the client to the server
plus the time it takes to send a response from the server back to
the client. The round trip time is twice the average latency.
Send throughput Throughput of 100KB/iteration.
Receive throughput Throughput of 100KB/iteration.
19. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Testing Query Performance
Fetchtst (or odbcfet)
• SamplesSQLAnywherePerformanceFetch
• Measures fetch rates for an arbitrary query
• Put arbitrary queries in a file (test.sql, by default) separated by “go”
o Often SELECT statements are used but update and insert works too
Useful switches
• -ga – measures several useful statistics
• -j nnn – repeat the file several times (or –js for each statement)
• -p – print the plan (can show plan changes for one query)
• -i – think time
Try to match your configuration when testing
• Isolation, cursor type, prefetch, connection
20. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Example fetchtst Results
SQL Step count seconds min.s/i
------------ ----- -------- --------
plan 10 0.002706 0.000262
PREPARE 10 0.000420 0.000039
DESCRIBE 10 0.000566 0.000054
OPEN 10 0.000293 0.000027
FETCH first row 10 0.000562 0.000052
FETCH remaining rows 10 6.451974 0.581380
CLOSE 10 0.000564 0.000055
DROP 10 0.000041 0.000004
EXECUTE (described non-query) 0 0.000000
EXECUTE IMMEDIATE (non-query) 0 0.000000
------------ ----- -------- --------
Total 10 6.457126 0.581962
Total elapsed for whole run 1 6.515817 6.515817
Engine CPU usage (tot) 10 5.288434 0.436803
Engine CPU usage (usr) 10 5.288434 0.436802
Engine CPU usage (sys) 10 0.000000 0.000000
------------ ----- -------- --------
select pk 10 6.457126 0.581962
------------ ----- -------- --------
21. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Testing Insert Performance
Instest
• SamplesSQLAnywherePerformanceInsert
• Measures insert performance for a table
• Reads query from a file
• Uses PUT to insert rows
Try to match your configuration
• Commit frequency
• Insert width (rows to insert per request)
• Pre-grow database file and ensure it is contiguous
22. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Performance Timing Utilities
Trantest
• SamplesSQLAnywherePerformanceTransaction
• Measures the load that can be handled by a given server configuration given a database design and a set of
transactions.
• Simulates a number of client machines running transactions against the server
• Define what transactions to execute
• Can run on multiple client machines: master/slave
23. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
TYPES OF PERFORMANCE
PROBLEMS
24. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Broad Classes of Performance Problems
Communication patterns / cheap requests that add up to too much time
Time for client to form request and interpret the result
Network latency
Build / open time
Expensive requests
Queries that are inherently expensive
Configurations that make it expensive to process queries
Query plan quality
Slow concurrent requests
Mutual exclusion due to locking or other blocking
Concurrent use of shared resource can be slower than serial
25. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Rough Categorization of a Workload
Estimate (total time / # requests)
• If average request time is < 100ms, probably an issue with cheap requests
Use –zt server option and dbo.sa_performance_diagnostics()
• If ReqTimeActive or ReqTimeBlockIO high – expensive requests
• If ReqTimeBlockLock or ReqTimeBlockContention high – Slow concurrent requests
If performance of one query varies substantially with identical parameters, it may be
query plan differences
• Make sure to rule out differences in cache contents, concurrent activity, …
• If the period is about 11 executions, could be related to plan caching
26. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Agenda
Performance Analysis
Example of Analysis
Graphical Plan Viewer
Performance Timing Utilities
Types of Performance Problems
Communication Patterns
I/O Bound Applications
CPU-Bound Applications
Concurrency Bound Applications
Performance Tips
27. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Using Many Cheap Requests Repeats Overheads
Server overheads
Parsing SQL
Building plan
Inter-process communication
Latency
Client overheads
Building up statements
Starting to process results
28. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Total Request Time
Request(value-params)
Results
Think
Think
ExecuteWait
Wait Request(value-params)
Execute
Total
Time
29. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Millisecond Workloads
Think
ExecuteWait
Wait
Total Time < 1ms
Execute
30. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Server Operations in Detail
Build
Execute
Close
Pre-Optimization
ScanSQL, Parms
Parse
Semantic Transformations
Prepare
Parse Tree
Cursor
Join Enumeration
DFO Build
Open
Execute
Close
Describe
Post-Optimization
31. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Effect of Overhead in a Cheap Request
0.2
0.5
26.1
42.4
13.3
0.5
Drop
Close
Fetch
Open
Describe
Prepare
Time (micro-seconds)
R1: SELECT * FROM T WHERE T.pk = 100
32. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Expensive Statements Over Versions
14.600
7.700
4.200
2.800
0.510 0.477
0.0
2.0
4.0
6.0
8.0
10.0
12.0
14.0
7.0.4 8.0.0 9.0.1 10.0.0 12.0.1 16.0.0
Average TPC/H SF10 Query Time (minutes)
33. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Performance of Simple Statements Over Versions
0
50
100
150
200
250
5.5.5
6.0.0
6.0.1
6.0.2
6.0.3
6.0.4
7.0.0
7.0.1
7.0.2
7.0.3
7.0.4
8.0.0
8.0.1
8.0.3
9.0.0
9.0.1
9.0.2
10.0.0
10.0.1
11.0.0
11.0.1
12.0.0
12.0.1
16.0.0
Microseconds
R1
R2
R1: SELECT * FROM T WHERE T.pk = 100
R2: SELECT * FROM T WHERE T.pk = 100 and row_num+1=4
1995 2000 2003 ‘06 2013‘08
17 Plan Cache
34. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Categorizing Requests
Simple
Complex
Cheap
Expensive
select count(*)
from T
select *
from T1,T2,T2,…,TN
where T.x < :a
(many rows match)
select *
from T
where pk=?
select *
from T1,T2,T2,…,TN
where T.x < :a
(very few rows match)
35. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Agenda
Performance Analysis
Example of Analysis
Graphical Plan Viewer
Performance Timing Utilities
Types of Performance Problems
Communication Patterns
I/O Bound Applications
CPU-Bound Applications
Concurrency Bound Applications
Performance Tips
36. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
I/O-Bound applications
How to detect?
• Server is slow but not CPU-bound
• In Windows Task Manager, see lots of reads and writes by database server process
• In perfmon, look at %Idle Time counter for Physical Disk objects – if below 1%, server is likely I/O-bound
• Consider Average sec/Transfer and ReqTimeBlockIO
Sanity-check – hard drive making lots of noise, lit up
I/O-bound applications may require addition of extra disk hardware
• SSDs can be used and even combined in RAID
37. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Windows perfmon
38. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Cache Size Too Small
If server can’t keep frequently-used database pages in buffer pool, thrashing occurs
Can detect using SQL Anywhere counters in perfmon or tracing:
• CacheReadTable vs. DiskReadTable
• CacheReadIndex vs. DiskReadIndex
These counters are absolute values, so look at growth over a fixed period of time
• Should see CacheReadTable grow more than 10 times faster than DiskReadTable, CacheReadIndex more
than 100 times faster
• If not, indication that cache size may be too small
39. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Missing Indexes
Properly tuned indexes can greatly reduce I/O requirements
• Read only the rows needed to satisfy a query, rather than all rows
Best way to investigate is with Index Consultant
• Available from SC Profiling Mode or DBISQL
• Can also experiment manually with Index Consultant using CREATE VIRTUAL INDEX statement
• Inspect application queries
Clustering of indexes is also important
• Compare the clustering statistics in sys.sysphysidx to the clustered_index_id of systab
40. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Query Processing Memory
Server may not have enough memory to process queries using regular methods,
causing it to use expensive low-memory strategies
• Special case of cache that is too small
• Likely cause – very high -gn value (above 100) and small cache size
o Make sure you really need such a high value if you use it
If this is the problem you may see in profiling mode that queries identified as
expensive don’t use hash operators
• Or, if they do use them, the operator details indicate reversion to low memory strategies, or multiple passes
• Compare QueryMemMaxUseful to QueryMemLikelyGrant
Check max_statement_count/max_cursor_count options for handle leaks
41. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Fragmentation
Check OS file fragmentation
• Server window on startup, DBFileFragments property
• Use tools provided by the OS to fix
o Eg. contig.exe, available free from www.sysinternals.com
Check table and index fragmentation
• sa_table_fragmentation(), sa_index_density() or SQL Central Fragmentation tab
• Correction
o REORGANIZE TABLE
o Unload/reload database
• Avoidance
o PCTFREE
42. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Fragmentation View in Sybase Central
43. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Suboptimal File Placement
Placement of different database files (system dbspace, secondary dbspace,
temporary dbspace, transaction log) may be suboptimal
• Often good to put transaction log on separate disk system
• Good to place whatever files you can on an SSD
In applications that update or delete large quantities of data:
• can help to push user tables into secondary dbspace on a different physical disk leaves checkpoint log with
more bandwidth
• Make sure transaction log is on its own physical disk
• Avoid RAID-5 for disks for all types of log!
Check table/index fragmentation internally
Check database file fragmentation externally
44. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Agenda
Performance Analysis
Example of Analysis
Graphical Plan Viewer
Performance Timing Utilities
Types of Performance Problems
Communication Patterns
I/O Bound Applications
CPU-Bound Applications
Concurrency Bound Applications
Performance Tips
45. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
CPU-Bound Applications
Computation and memory access dominating
Good news – easy to detect!
Bad news – many possible causes…
How to detect?
• CPU above 98% use for all CPUs assigned to server process
• Task Manager shows server process consuming all available CPUs assigned to it
• Make sure no other applications are competing for large amounts of CPU
• Watch out for a system that has 1/N % of CPU in use (no parallelism)
46. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Suboptimal Query Plans
Optimizer is choosing one or more access plans that are substantially poorer than
the optimal plan
Most common causes:
• Outdated optimizer statistics
• Incorrect setting of OPTIMIZATION_GOAL option
• Missing indexes (with large enough buffer pool)
To analyze:
• Capture plans with statistics, either manually with DBISQL, or from a tracing session
• Look for slow queries
• Look for query operators where estimated number of rows or cost vary drastically from actual values
47. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Suboptimal Queries
Optimizer does the best it can, but sometimes is faced with queries that make it
hard to do its job
Basic cause: server is being asked to compute more data than you really need
Some common types:
• Asking for extra columns in a result set that you don’t use
• Frequent calling of user-defined functions (in a predicate, for example) or that have queries in them that tie the
hands of the optimizer
• Failing to specify READ ONLY access for queries that are not used for update
• nested correlated subqueries -- consider the use of WINDOW functions
48. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Optimization Goal
First Row vs All Rows
• Application displays first few rows of a query
• Reporting type application that will always fetch all rows of a query
• Certain application interface patterns:
o TOP <N> STARTAT <S>
o API layer fetches all rows of query even if application doesn’t use them
Solution
• Optimization_goal option
• OPTION clause on SQL Query
• TABLE Hints in the FROM clause
49. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Agenda
Performance Analysis
Example of Analysis
Graphical Plan Viewer
Performance Timing Utilities
Types of Performance Problems
Communication Patterns
I/O Bound Applications
CPU-Bound Applications
Concurrency Bound Applications
Performance Tips
50. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Concurrency-Bound Applications
If application does not seem to be either CPU or I/O bound on the server, it may be
concurrency bound
• Special case of CPU or I/O-boundedness – application can’t take advantage of extra resources
• ActiveReq performance counter: if high (10 to 20 or higher), an indication of being concurrency bound
• If it is low, and CPU and I/O are also low, problem is that application isn’t giving server enough work to keep
busy
Concurrency problem may be internal to server, or may be in server-side
application code
• Determine using DBCONSOLE or sa_connection_info() if connections are blocked on others, application-
based concurrency problem; otherwise could be internal server-based
51. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Application Concurrency
User connections hold locks on rows, preventing other connections from getting
their work done
Most common causes:
• Hot row – detected by application profiling (blocking analysis)
• Long term holding of read locks – detected by looking for cursors that stay open for a long time, long
transactions at isolation levels > 0
• Long term holding of write locks keep update transactions as short as possible
Check isolation level of all transactions
• 0 (default) - no locking; a latch ensures that the entire row is consistent when retrieved from the disk page
• 1,2 - lock rows in the query’s result, but with level 1 the lock is held only while the cursor is on that row
• 3 - lock every row read and every insertion point crossed during query execution
• Snapshot isolation – writers don’t block readers, achieved by maintaining copies of modified rows
52. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Avoid Designs Where Many Transactions
Update A Row
This can come up with “one row tables”
• For example, key generation; consider using sequences
When a foreign row is inserted, lock primary row
• In version 12 and above, only the primary key is locked, other columns open
53. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Internal Server Concurrency
Server maintains internal locks to protect server structures
Contention for these resources may happen:
• Transaction log solution: move to new disk, pregrow
• Checkpoint log solution: secondary dbspace
• Lock table – only possible when servicing hundreds of connections
54. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Agenda
Performance Analysis
Example of Analysis
Graphical Plan Viewer
Performance Timing Utilities
Types of Performance Problems
Communication Patterns
I/O Bound Applications
CPU-Bound Applications
Concurrency Bound Applications
Performance Tips
55. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Avoid Extra Work – Client Issues
Make client-server communication more efficient by reducing the number of
requests to the server
• TURN OFF AUTOCOMMIT
• Avoid client-side joins
• Utilize wide fetches or wide inserts from your application
• Make use of PREFETCHing for large result sets
• Locally cache information in your application
• Combine a set of statements into a batch, or embed the statements within a stored procedure so
that only one CALL statement needs to be sent from the application
• PREPARE/DESCRIBE once during initialization (or on first use)
o Client statement caching will avoid multiple DROP/PREPARE sequences for identical SQL statements
• Bind columns whenever possible
o Eg. use SQLBindCol() instead of SQLGetData()
56. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Avoid Extra Work – Turn Off Autocommit
AutoCommit – huge penalty
• Several interfaces default to AutoCommit ON
o OLEDB, ODBC, ADO.NET, JDBC, …
• Every Commit operation causes at least 1 physical IO to the transaction log and the server won’t
respond to Commit until IO is complete!
o Turning off the transaction log is worse because every commit causes a checkpoint – all dirty pages are
written
• Note that any DDL causes implicit COMMITs and sometimes CHECKPOINTs
Solution:
• Turn off AutoCommit, use Commits and Rollbacks in your application as appropriate
• Always use a transaction log
• Avoid DDL – use temp tables, create permanent objects once
57. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Avoid Extra Work – Client Side Joins
Client-side join
• Application fetches from one table and for each row, fetches from one or more other tables all with separate
queries
• Simple variant: same query repeatedly issued for the same values
Solution
• Look for opportunities to cache values that don’t change on the server
• Look for ways to combine sets of statements using joins in the server, possibly more complex procedures
58. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Avoid Extra Work - Prefetch
Prefetch reduces communication by transferring sets of rows to the client in
advance of a FETCH request
Prefetch is ON by default
• To disable use the DisableMultiRowFetch connection parameter or set the Prefetch option to OFF
• Prefetch is turned off on cursors declared with sensitive value semantics
Adaptive prefetching
• Increases or decreases depending on application behaviour
• Maximum number of rows that will be prefetched is 1000
• Incluenced by number of rows the application can FETCH in one elapsed second
59. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Avoid Extra Work – Wide Fetches/Inserts
For relatively large result sets, use wide fetches
• Each API call obtains several rows; explicitly set by the application
o Prefetching may or may not also occur
• Number of rows wide fetched is configurable
With wide (multi-row) inserts (and updates, deletes in V17):
• Supported by ESQL, ODBC, JDBC
• Consider LOAD TABLE where appropriate
• COMMIT at regular intervals to reduce lock contention, limit size of rollback log
Updates: use set based UPDATE … FROM … WHERE operations
60. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Network Latency and Performance
• Latency: time it takes for a packet to be received at a different machine once sent
• Throughput: number of bits (bytes) that can be transferred in a given period of time
• LAN: typically 1ms (perhaps less) latency, at least 1MB/sec throughput
• WAN: 5-500 ms latency, 4-200KB/sec throughput
o These are ballpark estimates
• DBPing: can be used to determine round trip time to the server
• reducing requests to server reduces impact of network latency
61. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Reducing Network Latency
Increase the database server’s packet size
• Default in Version 11 has increased from 1460 to 7300; even larger sizes can be beneficial for large result
sets
• Can improve the performance of large FETCHes and multi-row fetches, or BLOB operations (both retrieval
and insertion)
Use the CommBufferSize connection parameter
• Alter the packet size only for connections that would benefit from a larger packet size.
Consider altering the ReceiveBufferSize and SendBufferSize TCP/IP parameters
• Preallocate the amount of memory used by the TCP/IP protocol stack to receive and send packets over the
wire
• Defaults for these values are machine-dependent (OS, driver, card manufacturer)
62. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Improving Network Throughput
Communication compression may improve throughput between client and server
over a modem or WAN:
• Packets are compressed before encryption
• Compressed data can be less than 10% of original size, but depends completely on data and the application
• Increase packet size for greater compression, fewer packets
• Compression requires additional ~46K per connection
• You must analyze your application's performance and verify results
o Compression requires additional CPU; on LANs, compression costs typically outweigh
savings in bandwidth
63. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
SUMMARY OF PERFORMANCE
TIPS
64. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Performance TIPS – Application Patterns
• Turn off autocommit mode
• Avoid client-side joins
• Set optimizer goal appropriately
• Use appropriate data types
• Use multi-row operations whenever possible
• Reduce requests between client and server
• Specify the correct cursor type
65. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Performance TIPS
• Always use a transaction log
• Check for concurrency issues
• Choose the optimizer goal
• Collect statistics on small tables
• Declare constraints
• Minimize cascading referential actions
• Monitor query performance
• Normalize your table structure
• Place different files on different devices
• Rebuild your database
• Reduce fragmentation
• Reduce file fragmentation
• Reduce table fragmentation
• Reduce index fragmentation and skew
• Reduce primary key width
• Reduce table widths
• Reduce requests between client and server
• Reduce expensive user-defined functions
• Replace expensive triggers
• Review the order of columns in tables
• Strategic sorting of query results
• Specify the correct cursor type
• Supply explicit selectivity estimates sparingly
• Turn off autocommit mode
• Use an appropriate page size
• Use appropriate data types
• Use AUTOINCREMENT to create primary keys
• Use bulk operations methods
• Use delayed commits
• Use in-memory mode
• Use indexes and keys effectively
• Use the cache to improve performance
• Monitoring cache size
• Use cache warming
• Use compression carefully
• Use WITH EXPRESS CHECK when validating
• Use work tables in query processing (use All-rows optimization
goal)
66. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Agenda
Performance Analysis
Example of Analysis
Graphical Plan Viewer
Performance Timing Utilities
Types of Performance Problems
Communication Patterns
I/O Bound Applications
CPU-Bound Applications
Concurrency Bound Applications
Performance Tips
Conclusion and Resources
67. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Conclusion
SQLA Continues to evolve to exploit new hardware / usage scenarios
Trends in increasing memory, core counts, and new storage technologies are very relevant
Dealing better with larger data volumes is important
But: speed of simple operations is also critical to some application patterns
Performance analysis and tuning is an interesting and idiosyncratic domain
It can be a lot of fun to trace down what is really going on
It is best if it can be done before there is a problem with unhappy customers
68. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Resources
White papers:
• Capacity Planning with SQL Anywhere
o http://scn.sap.com/docs/DOC-35069
• Diagnosing Application Performance Issues with SQL Anywhere
o http://scn.sap.com/docs/DOC-35601
SQL Anywhere Documentation
o http://dcx.sap.com
SQL Anywhere Q&A forum
o http://sqlanywhere-forum.sap.com
68
69. (c) 2015 Independent SAP Technical User GroupAnnual Conference, 2015
Thank you
Jason Hinsperger
Sr Product Manager
SAP Labs Canada, 445 Wes Graham Way, Waterloo, ON N2L 6R, Canada
Jason.hinsperger@sap.com
519-883-6492