This document provides an overview of a presentation by Jamie Magee on resolving performance issues in Domino applications. The presentation covers techniques for developing for performance, managing view indexing, web optimization techniques, configuring servers for performance, identifying performance problems, monitoring server resources, and other topics. Magee is an experienced Domino developer and consultant who helps design large applications to scale well.
Building faster websites: web performance with WordPressJohannes Siipola
Nobody likes a slow website. Faster sites lead to happier users, and happier users lead to more conversions and revenue. That’s why you should take performance into account in your WordPress project. Learn what practical techniques and WordPress plugins to use in order to optimize your site for speed.
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014Kathy Brown
IBM Connect 2014
XPages: Still No Experience Necessary
Step by Step see how to create an XPages application. Create a help desk ticket app, including CRUD (Create, Read, Update, Delete)
Gear6 and Scaling Website Performance: Caching Session and Profile Data with...Gear6
This is a presentation given on April 14, 2009 to a select group of current memcached users. It includes survey results of how the dynamic web has given rise to the distributed caching tier, describes the growing popularity of memcached, provides poll results from memcached users and offers overview of the Gear6 Web Cache solution. Gear6 will be at the 2009 MySQL Conference at booth #218. Or visit us at Gear6.com.
Adm07 The Health Check Extravaganza for IBM Social and Collaboration Environm...Kim Greene
Are you concerned about your infrastructure being configured correctly? Do you have problems happen that you don’t know how to prevent? Do you think your servers might have room for improvement? Wonder no more. This session will show you what you need to be looking at to ensure your server environment is running as cleanly and efficiently as possible. You will learn what you need to be looking for in your server configuration, problems found at numerous customer environments and what steps should be taken to remedy the various situations covered in this session. Be preventative, not reactive! Performing a health check is one of the most economical ways to ensure your social and collaboration environments are running properly.
Having a full set of Sametime features available on mobile devices has been a priority for IBM so if you are deploying, whether it’s the complete feature set including meetings audio and video or just instant messaging you can extend the functionality using IBM Connections Chat and IBM Connections Meetings applications which are available for most mobile platforms. In this session we will review both the backend server configuration and the features available via the mobile applications and discuss usability, bandwidth and security implications
Building faster websites: web performance with WordPressJohannes Siipola
Nobody likes a slow website. Faster sites lead to happier users, and happier users lead to more conversions and revenue. That’s why you should take performance into account in your WordPress project. Learn what practical techniques and WordPress plugins to use in order to optimize your site for speed.
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014Kathy Brown
IBM Connect 2014
XPages: Still No Experience Necessary
Step by Step see how to create an XPages application. Create a help desk ticket app, including CRUD (Create, Read, Update, Delete)
Gear6 and Scaling Website Performance: Caching Session and Profile Data with...Gear6
This is a presentation given on April 14, 2009 to a select group of current memcached users. It includes survey results of how the dynamic web has given rise to the distributed caching tier, describes the growing popularity of memcached, provides poll results from memcached users and offers overview of the Gear6 Web Cache solution. Gear6 will be at the 2009 MySQL Conference at booth #218. Or visit us at Gear6.com.
Adm07 The Health Check Extravaganza for IBM Social and Collaboration Environm...Kim Greene
Are you concerned about your infrastructure being configured correctly? Do you have problems happen that you don’t know how to prevent? Do you think your servers might have room for improvement? Wonder no more. This session will show you what you need to be looking at to ensure your server environment is running as cleanly and efficiently as possible. You will learn what you need to be looking for in your server configuration, problems found at numerous customer environments and what steps should be taken to remedy the various situations covered in this session. Be preventative, not reactive! Performing a health check is one of the most economical ways to ensure your social and collaboration environments are running properly.
Having a full set of Sametime features available on mobile devices has been a priority for IBM so if you are deploying, whether it’s the complete feature set including meetings audio and video or just instant messaging you can extend the functionality using IBM Connections Chat and IBM Connections Meetings applications which are available for most mobile platforms. In this session we will review both the backend server configuration and the features available via the mobile applications and discuss usability, bandwidth and security implications
This presentation discusses various options we had when we developed Zhara POS, and how we applied Java Web Start technology into this project.
This is part of Zhara Tech Talks (Session 03), where the members of Zhara Team get together and discuss about various technical and non-technical topics.
Memcached: What is it and what does it do? (PHP Version)Brian Moon
Memcached has become the de facto standard for caching web applications. But, many users jump in feet first without understanding what it does or perhaps more importantly what it does not do. Once you understand memcached, you may come to realize that it is what it does not do that makes it so good. Memcached is a distributed memory based caching system. But, what does that mean for you? This session willcover the basics of memcached. What are all the components needed? Where is your data cached? What happens when there is a system failure? Is my data stored in more than one place? How do I know what isin my cache? All these questions and more will be answered.
Adm02 Be a Domino Detective: Tackling Your Toughest Performance ProblemsKim Greene
Become a Domino performance investigator. This session will teach you industry best practices for Domino performance optimization. Learn how to take abstract symptoms like “Notes is slow” and break it down to a resolvable problem. See the methodology and tricks involved to find the true culprit using tools such as semaphore timeouts, memory dumps and server monitoring. Understand what impact running with obsolete tuning parameters can have on your environment. You will learn the best tips to implement along with do’s and don’ts for ensuring your Domino environment will perform optimally.
Planning & Completing An IBM Connections UpgradeGabriella Davis
Presentation from ICON UK in London Sept 2015 on approaches to upgrading IBM Connections whether it's a WebSphere iFix, TDI, DB2 or the Connections applications themselves
Uno! Deux! Three! Making Localization of XPages as Easy as 1-2-3Kathy Brown
From IBM Connect 2014, Making Localization of XPages as easy as 1-2-3. We show what comes "out of the box" and also how to localize what isn't "out of the box".
REST services and IBM Domino/XWork - DanNotes 19-20. november 2014John Dalsgaard
Loose coupling of systems is key to future development! Why? Because it will allow us to change the "components" as we go along instead of creating monster big systems that are tied together using all sorts of different technologies. Webservices have been a way to obtain this over the last decade. More recently a special variant has become very popular, namely the JSON based REST service.
Imagine you could extend your data out to the world outside your Domino environment? - in an easy way....! And imagine those data could easily be incorporated into other systems via standardized interfaces... Could that extend the value of your current systems further? Could this be a way to use new technologies to modernize your users' experience of working with your systems?
Come and take away knowledge about how to open your Domino/XWork based systems up to the world outside using JSON based REST services. They are going to be key to future development in Domino/XWork - whether you want to use data in browser solutions (e.g. based on angular.js or ExtJS) or native mobile apps (built in whatever technology is best).
80% of the time it takes for a web page to load is on the client side.
Using all the tips in this presentation should cut 25% to 50% off the load time of optimized page requests.
Drupal (6 or 7) can be used to, fairly easily, implement a whole bunch of these “front-end performance” upgrades, and knock a ton of errors off of the Yahoo! and Google speed-checker tools validation checklists.Get firebug first.
Apache Web Performance - Leveraging Apache to make your site FLY!
Apache is the most popular web server in the world, yet its default configuration can't handle high traffic. Learn how to setup Apache for high performance sites and leverage many of its available modules to deliver a faster web experience for your users. Discover how Apache can max out a 1 Gbps NIC and how to serve over 140,000 pages per minute with a small Apache cluster. Get happier users, more conversions, and save money with a properly setup Apache web server.
Memcached: What is it and what does it do?Brian Moon
Memcached has become the de facto standard for caching web applications. But, many users jump in feet first without understanding what it does or perhaps more importantly what it does not do. Once you understand memcached, you may come to realize that it is what it does not do that makes it so good.
Memcached is a distributed memory based caching system. But, what does that mean for you? This session will cover the basics of memcached. What are all the components needed? Where is your data cached? What happens when there is a system failure? Is my data stored in more than one place? How do I know what is in my cache? All these questions and more will be answered.
How MongoDB is Being Used in China - Case StudiesMongoDB
We will discuss a variety of use cases for MongoDB in China's Internet industry across several verticals, sizes, and applications. This discussion will include reasons for using MongoDB, experiences, issues, and successes.
What We Wish We Had Known: Becoming an IBM Connections AdministratorGabriella Davis
Presentation on IBM Connections given by Gab Davis and Paul Mooney at IBM Connect 2014. In this session we shared our experiences of Connections as administrators and what we feel is useful information for every admin to know.
This session introduces tools that can help you analyze and troubleshoot performance with SharePoint 2013. This sessions presents tools like perfmon, Fiddler, Visual Round Trip Analyzer, IIS LogParser, Developer Dashboard and of course we create Web and Load Tests in Visual Studio 2013.
At the end we also take a look at some of the tips and best practices to improve performance on SharePoint 2013.
This presentation discusses various options we had when we developed Zhara POS, and how we applied Java Web Start technology into this project.
This is part of Zhara Tech Talks (Session 03), where the members of Zhara Team get together and discuss about various technical and non-technical topics.
Memcached: What is it and what does it do? (PHP Version)Brian Moon
Memcached has become the de facto standard for caching web applications. But, many users jump in feet first without understanding what it does or perhaps more importantly what it does not do. Once you understand memcached, you may come to realize that it is what it does not do that makes it so good. Memcached is a distributed memory based caching system. But, what does that mean for you? This session willcover the basics of memcached. What are all the components needed? Where is your data cached? What happens when there is a system failure? Is my data stored in more than one place? How do I know what isin my cache? All these questions and more will be answered.
Adm02 Be a Domino Detective: Tackling Your Toughest Performance ProblemsKim Greene
Become a Domino performance investigator. This session will teach you industry best practices for Domino performance optimization. Learn how to take abstract symptoms like “Notes is slow” and break it down to a resolvable problem. See the methodology and tricks involved to find the true culprit using tools such as semaphore timeouts, memory dumps and server monitoring. Understand what impact running with obsolete tuning parameters can have on your environment. You will learn the best tips to implement along with do’s and don’ts for ensuring your Domino environment will perform optimally.
Planning & Completing An IBM Connections UpgradeGabriella Davis
Presentation from ICON UK in London Sept 2015 on approaches to upgrading IBM Connections whether it's a WebSphere iFix, TDI, DB2 or the Connections applications themselves
Uno! Deux! Three! Making Localization of XPages as Easy as 1-2-3Kathy Brown
From IBM Connect 2014, Making Localization of XPages as easy as 1-2-3. We show what comes "out of the box" and also how to localize what isn't "out of the box".
REST services and IBM Domino/XWork - DanNotes 19-20. november 2014John Dalsgaard
Loose coupling of systems is key to future development! Why? Because it will allow us to change the "components" as we go along instead of creating monster big systems that are tied together using all sorts of different technologies. Webservices have been a way to obtain this over the last decade. More recently a special variant has become very popular, namely the JSON based REST service.
Imagine you could extend your data out to the world outside your Domino environment? - in an easy way....! And imagine those data could easily be incorporated into other systems via standardized interfaces... Could that extend the value of your current systems further? Could this be a way to use new technologies to modernize your users' experience of working with your systems?
Come and take away knowledge about how to open your Domino/XWork based systems up to the world outside using JSON based REST services. They are going to be key to future development in Domino/XWork - whether you want to use data in browser solutions (e.g. based on angular.js or ExtJS) or native mobile apps (built in whatever technology is best).
80% of the time it takes for a web page to load is on the client side.
Using all the tips in this presentation should cut 25% to 50% off the load time of optimized page requests.
Drupal (6 or 7) can be used to, fairly easily, implement a whole bunch of these “front-end performance” upgrades, and knock a ton of errors off of the Yahoo! and Google speed-checker tools validation checklists.Get firebug first.
Apache Web Performance - Leveraging Apache to make your site FLY!
Apache is the most popular web server in the world, yet its default configuration can't handle high traffic. Learn how to setup Apache for high performance sites and leverage many of its available modules to deliver a faster web experience for your users. Discover how Apache can max out a 1 Gbps NIC and how to serve over 140,000 pages per minute with a small Apache cluster. Get happier users, more conversions, and save money with a properly setup Apache web server.
Memcached: What is it and what does it do?Brian Moon
Memcached has become the de facto standard for caching web applications. But, many users jump in feet first without understanding what it does or perhaps more importantly what it does not do. Once you understand memcached, you may come to realize that it is what it does not do that makes it so good.
Memcached is a distributed memory based caching system. But, what does that mean for you? This session will cover the basics of memcached. What are all the components needed? Where is your data cached? What happens when there is a system failure? Is my data stored in more than one place? How do I know what is in my cache? All these questions and more will be answered.
How MongoDB is Being Used in China - Case StudiesMongoDB
We will discuss a variety of use cases for MongoDB in China's Internet industry across several verticals, sizes, and applications. This discussion will include reasons for using MongoDB, experiences, issues, and successes.
What We Wish We Had Known: Becoming an IBM Connections AdministratorGabriella Davis
Presentation on IBM Connections given by Gab Davis and Paul Mooney at IBM Connect 2014. In this session we shared our experiences of Connections as administrators and what we feel is useful information for every admin to know.
This session introduces tools that can help you analyze and troubleshoot performance with SharePoint 2013. This sessions presents tools like perfmon, Fiddler, Visual Round Trip Analyzer, IIS LogParser, Developer Dashboard and of course we create Web and Load Tests in Visual Studio 2013.
At the end we also take a look at some of the tips and best practices to improve performance on SharePoint 2013.
Empowering the AWS DynamoDB™ application developer with AlternatorScyllaDB
Getting started with AWS DynamoDB™ is famously easy, but as an application grows and evolves it often starts to struggle with DynamoDB’s limitations. We introduce Scylla’s Alternator, which provides the same API as DynamoDB but aims to empower the application developer. In this presentation we will survey some of Alternator’s developer-centered features: Alternator lets you test and eventually deploy your application anywhere, on any public cloud or private cluster. It efficiently supports multiple tables so it does not require difficult single-table design. Finally, Alternator provides the developer with strong observability tools. The insights provided by these tools can detect bottlenecks, improve performance and even lower its cost.
This is the latest version of the slides based on my book "Solaris Performance and Tuning" that has been extended to include Linux and many other more recent topics. It has been presented innumerable times, most recently at the CMG conference, Usenix 08 and LISA 08, and this version will be presented at Usenix 09, San Diego on June 16th, along with the Free Tools slides.
Advanced Deployment by Jonathan Weiss presented at Scotland on Rails 2009 in Edinburgh. Deployment and Scaling best practices. See more at http://scotlandonrails.com/schedule/28-march/advanced-deployment/
Basics of Web App Systems Architecture
General Web Software Optimization Strategies
Defining a Goal for Performance
Performance Metrics, tools
Performance Debugging Techniques
What Can You Control?
What Is Caching?
Drupal Performance modules
Optimizing Drupal
"Drupal is always so fast!" ... said no one, ever.
Drupal has a reputation as being a slow CMS, but that reputation is undeserved; there are many small things that impact a Drupal site's performance in sometimes substantial ways. This session will highlight many 'quick wins' that will get your site performing like a champ in no time!
Then we'll take a demonstration site that has many elements of real-world 'slow' Drupal sites, show how to do a quick performance evaluation/triage, and change the site from loading in 4-5 seconds to loading in less than a second, and maxing out at 2 requests per second to a speedy 4,000+ requests per second!
The session will also discuss the importance of a plan, benchmarking, and assumptions when you do performance work on your own Drupal site.
Similar to Magee Dday2 Fixing App Performance Italiano (20)
Ortocloud è arrivata seconda all'ICS del developer competition di IBM.
Permette di vedere come è stato possibile sfruttare i servizi weather di Bluemix con le XPages e noSQL Database di Domino
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.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
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
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
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/
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
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
2. Chi sono?
• Co‐founder of MartinScott Consulting
–Frequent speaker at Advisor, View, LotusSphere
• Developing Lotus apps since 1994
–Designing large apps so they scale well
–Speeding up slow applications
• Creator of:
–NoteMan Toolbar for Developers/Admins
• A more powerful “Document Properties” and more!
–WirelessMail for Domino email to any device
• Blog: www.JamieMagee.com
3. Due punti da chiarire…
1. Aggiungere Hardware piu’ potente NON sempre
risolve i problemi di un’applicazione con un
pessimo design
– Most performance issues are best resolved in the design
of the applications FIRST, then try hardware
2. La maggior parte dei miei suggerimenti sono validi
ANCHE per il web
– HTTP server is a Web “wrapper” around the Domino
server
4. Di cosa ci occuperemo …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
5. NotesUIDocument
• PIU’ VELOCE
(se ci sono multi fields)
5x
Faster
•Updates UI doc only once,
LotusScript after all fields are written
6. Database Properties
(See Designer Help
document “Properties
that improve database
performance”)
7. Elementi di design condivisi
(shared) nel Client Notes
• Shared fields/actions, subforms, script libraries, ecc.
• Client makes one request for each element
• Se ci sono multi elementi “shared” o un network lento, c'è un
compromesso fra riusabilita’ e performance
Domino Server
document Compromesso
Notes Client
form
Subform1
Subform2
Scriptlibrary1
8. Elementi di design condivisi
su Web
• In web applications, requesting and assembling
shared elements is done right on the server,
without network activity for each element
– No significant effect on performance!
Domino Server
document
Web client
form
HTML
Subform1
Subform2
Scriptlibrary1
9. Di cosa ci occuperemo …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
10. Indicizzazione Viste
• Il maggior problema di performance della applicazioni Domino
e’ l’indicizzazione delle viste.
• Every time a document is saved, Domino updates the indexes
of all auto‐indexed views which select the document
– FileSave, @Command([FileSave]), doc.save, form.submit(), ecc.
• Affects all applications on the server
• Indexing performance is affected by…
• Number of documents in views
• Number of fields in a document
• Frequency of update
• Number of views
• Complexity of views (categorized, # columns, formulas, etc)
11. Views: Colonne ordinabili dall’utente
•Ogni opzione di ordinamento su una colonna genera un
nuovo indice.
•This view has a total of 9 indexes
R8 new column property…
W arning
W arning
12. Viste e campi Reader
• Vieste e multo lento se…
– Ci sono multi documenti (e.g., 10’000, 100’000 +), e
– User has Read access to a small number of docs
• Domino must “scan” the view until it finds one page (usually
30) of accessible docs, or the end of the view
Warning
Warning
13. Viste e campi Reader
• Per una Vieste simile a questo che è più veloce…
• Embedded view, single category = @UserName (@UserNameList
for roles and groups)
14. Di cosa ci occuperemo …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
16. Perchè i Doctypes sono importanti
• With the default or incomplete Doctype, the page runs in
“Quirks Mode”
– This has extra parsing for older HTML
– This slows down the document parsing which slows the page
display
• “Standards Mode” is best
– This expects well formed HTML and XHTML
– This displays the page faster
• Not noticed on the server, but faster appearance to end user
17. Domino e Doctypes
• By default domino publishes an incomplete doctype
– 6.5.3 notes.ini parameter sets the doc type server‐wide
• DominoCompleteDoctype=n
– 0 = Domino default
» <!DOCTYPE HTML PUBLIC quot;‐//W3C//DTD HTML 4.01 Transitional//ENquot;>
– 1 = Standard
» <!DOCTYPE HTML PUBLIC quot;‐//W3C//DTD HTML 4.01 Transitional//ENquot;
quot;http://www.w3.org/TR/html4/loose.dtdquot;>
– 2 = Strict
» <!DOCTYPE HTML PUBLIC quot;‐//W3C//DTD HTML 4.01//ENquot;
quot;http://www.w3.org/TR/html4/strict.dtdquot;>
– R7.02 ‐ a field $$HTMLFrontMatter sets the doctype per page
18. Usare le Web Site Rules per
migliorare il caching
• Migliorare drasticamente la cache web dell’utente:
– The user’s browser will cache many files, but it still needs to check to
see if it has the current version each time
• This can cause 2‐3 extra seconds to each page load.
– To fix this, tell the user’s browser that certain files are good for “N”
days (icons, background images, etc)
• Admin must set it, but Developer must code it
19. Web Site Rule per il caching
Files in:
Domain/…/cachePath/
will be cached
304 = If-Modified-Since
header variable
20. Web Site Rule
per files compressi GZip
• Browsers can read GZip (GNU Zip) files
– for any external files (CSS, JS, HTML, etc.)
• Come si fa a dire Domino a dire a il browser cè
un file in formato GZip?
1. Compress your file in GZip format (www.gnu.org)
2. Name the file resource with a “gz/” prefix
3. Make a Web Site Rule…
22. What We’ll Cover …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
23. Server Document:
Maximum Concurrent Agents
• For agent‐intensive applications
• Allows more than one agent to run at the same time
• Monitor your resource utilization after such a change to
ensure your system has enough CPU and RAM
25. NOTES.INI on server
• VIEW_REBUILD_DIR=<path>
– Use a separate physical disk for view indexing
• Greatly improves overall performance on busy servers
• Updaters = [number]
– Run multiple update tasks to keep view indexes updated
– Set [number] = number of processors
• NSF DbCache_Maxentries = [number]
– Number of databases that can be cached at one time
– Default is 25 or NSF_Buffer_Pool_Size divided by 300 KB
– If ratio of Database.DbCache.Hits to InitialDbOpen is low, then consider
increasing [number]
– Console command “Dbcache disable” closes cached databases
26. Di cosa ci occuperemo …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
31. Undocumented Notes Feature:
Watching NRPCs
• NRPC = Notes Remote Procedure Calls
– il protocollo di comunicazione fra il server Domino e il client Notes
– Notes‐to‐Domino talk
Notes Client Domino Server
•You can watch NRPC to debug slow performance…
32. Undocumented Notes Feature:
Trovare i colli di bottiglia
• Enable RPC watching on Notes client
– NOTES.INI file on Notes Client
• Client_Clock=1
• Debug_Console=1
• Debug_Outfile=<path to filename>
(optional)
– Restart Notes client
– (to DISABLE, remove from NOTES.INI
and restart Notes)
34. Capire RPCs
(20-121) OPEN_NOTE: 1045 ms. [28+3906=3934]
(Seq. #), RPC_NAME, time, [bytes_sent+bytes_received=total]
• Common RPCs and What They Indicate
RPC_Name Description
Open_Session Authenticate with the server and establish a session
Open_Database Find and open a database
Open_Note Get the contents of a note (data document, design element, or ACL info)
Update_Note Save a document
Open_Collection Open a view
Read_Entries Get a list of document information from a view or search
Find_By_Key Find a document via DBLookup or LotusScript GetDocumentByKey
Get_Special_Note_ID Get ACL information
Close_dB Close database session
37. Di cosa ci occuperemo …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
38. Monitoraggio risorse
• Use operating system tools
–PerfMon (Windows)
• Start Control Panel Administrative Tools
Performance
–PerfMeter (UNIX)
–PerfMon / PEX (AS/400)
• Use during live use to see bottlenecks
40. Monitoraggio risorse:
capire cosa migliorare
Limiting Area of Focus Improvement
Resource Potential
Disk Access •Reduce view complexity, number, and size
•Optimize cache settings in .INI file
•Take advantage of browser caching
Processor •Reduce view complexity, number, and size
•Optimize code implementation
•Optimize server .INI file settings
•Disable server screen saver
•Take advantage of browser caching
Memory •Increase server RAM
•Optimize .INI file memory settings
Network •Increase network capacity
•Take advantage of browser caching
41. Di cosa ci occuperemo …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
42. Risorse – Riferimenti
• Lotus developerWorks performance zone:
• www.redbooks.ibm.com
– www.ibm.com/developerworks/lotus/performance
• Index to all IBM performance articles
– Any Domino book with “Performance” in the name
– Several other good ones
• MartinScott.com 30‐page performance article:
– http://MartinScott.com Resources Technical Articles
• NoteMan Toolbar www.NoteMan.com
• Andre Guirard’s blog: Best Practice Makes Perfect
– http://www‐10.lotus.com/ldd/bpmpblog.nsf
• Some ideas from Kevin Marshall and Andrew Magerman
• www.FastNSF.com Server performance tips
45. What We’ll Cover …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
46. Getting a Handle to a View
• NotesDatabase.GetView(viewName)
– Can be slow (e.g., 1+ second)!
– Fastest implementation is when parameter is the true
view name – not the alias Tradeoff
• Using correct case!
– Using the view alias is easier to maintain, but slower
– Don’t get the same view again and again inside a loop
LotusScript and Java
47. Traversing a View or Doc Collection
• For traversing a NotesView:
– GetNthDocument(N) a little faster than GetFirstDoc/GetNextDoc
• For traversing NotesDocumentCollection:
– GetFirstDocument() with GetNextDocument(doc) FASTER than
GetNthDocument() when N is large
• When only reading data from documents
– @DbLookup/@DbColumn is faster than LotusScript lookup
LotusScript and Java
48. Reading Values on a Doc from a
View
Status = doc.Status(0) Status = doc.ColumnValues(2)
Status is the 3rd column of the view that
Status is the 3rd column of the view that
was used to get to this document
was used to get to this document
10%
Faster
LotusScript and Java
49. Looping
Do For y=1 to 15000
z=z+1 z=z+1
y=y+1
Loop While y<= 15000 Next
60%
Faster
LotusScript
50. Put the Smaller Bounds on the
Outer Loop
for q=0 to 5000 for y=0 to 2
for y=0 to 2
for y=0 to 2 for q=0 to 5000
for q=0 to 5000
z=z+x(q,y) z=z+x(q,y)
next next
next next
400%
Faster
LotusScript
52. Profile Docs for Config Data
• Profile Documents are cached
• Built‐in programmatic access:
– Formula: GetProfileField(…)
– LotusScript/Java: NotesDatabase.GetProfileDocument(…)
• But how do you manually access profile docs?
– End users: Profile Docs (open source) form from Andre Guirard’s blog at
www.ibm.com
• Shows profile docs in the parent db containing the form
– Geeks: NoteMan Toolbar (free) shows “view” of profile docs
• Shows profile docs in any database
53. What We’ll Cover …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
55. Which views are not used?
Use the Admin Client
a. Purge suspect indexes
b. Allow user activity to resume for a week/month
c. Later, look for re‐created indexes (they are active views)
d. Remove unused views (Size=0) from design
56. View Complexity
A p p ly in g D iffe r e n t A ttr ib u te s to V ie w C o lu m n s
N u m b e r o f M in u te s to B u ild a V ie w w ith 5 C o lu m n s
M in u te s
25
P L A IN
20 F O R M U L A S (5 )
S O R T (1 )
S O R T (4 )
15 C AT E G O R IZ E (1 )
C AT E G O R IZ E (4 )
10
5
0
1 0 0 F ie ld s
1 0 0 ,0 0 0 D o c u m e n ts
57. Views: Time @Functions
• Avoid @Today, @Now in view formulas
– Forces the calculation to be done every time the view is opened
H o w m a n y s e c o n d s d o e s it ta k e to In d e x a V ie w ?
Seconds
35
F ie ld N a m e
30 @ To d a y
25 @ N ow
20
15
10
5
0
10 100 1000
N u m b e r o f D o c u m e n ts
T h e s e d a ta b a s e s c o n ta in o n ly 1 V ie w a n d 1 F o rm
T h e V ie w h a s o n ly o n e c o lu m n , a n d th e S e le c tio n F o rm u la is @ A ll
58. Views: Time @Functions
(continued)
• To show a “view” of documents more than N days old:
– A simple daily scheduled agent moves docs in/out of the “old
documents” folder (do not use a view)
• Putting a document in a folder does not modify it ‐‐ minimizes replication
activity and conflicts
– Or, daily agent modifies hard‐coded date in view formula
• NotesView.SelectionFormula
– Or, reduce view index refresh interval …
59. What We’ll Cover …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
60. Should I use WebQueryOpen?
• R6, R7 and R8 have shown tremendous improvement
regarding Open Agent performance.
– The big problems were from pre R6 days.
– Use R7 Agent Profiler to probe these agents.
• More on this later
– WebQueryOpen LotusScript agents not quite as fast as, but
offer more flexible programming functionality than, formulas.
61. WindowOnload Problem
• Developer uses the onload event to start Web apps on page
loads
– The problem: Onload does not fire until all page content has been
loaded, including images
– If you have any scripts that depend only on the DOM to be loaded, then
use a “domReady.js” as the kick off
• Get your copy of js_domready.js on DominoPerformance.com thanks to
Dwight Wilbanks
function FormOnLoad( ) {
~ your processes
}
var FormLoader = new domFunction( FormOnLoad,quot;quot;)
62. What We’ll Cover …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
63. Monitoring
Transactions and Users
• Server_Show_Performance=1 in notes.ini
– Post to the server console every 60 seconds
– Number of transactions the server performs per minute and the current
number of active users on the system
– Helpful in tracking system performance over a period of time
– Transactions include router, agent manager, replication, virus scanner,
and user actions
[01A8:0021-0254] 04/10/2008 04:30:47 PM 6 Transactions/Minute, 0 Notes Users
[01A8:0021-0254] 04/10/2008 04:31:47 PM 0 Transactions/Minute, 0 Notes Users
[01A8:0021-0254] 04/10/2008 04:32:47 PM 4 Transactions/Minute, 0 Notes Users
65. What We’ll Cover …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
66. Performance Debugging: User’s
perspective indications
Performance Symptom Possible Problem
Opening a view •Time functions in view formulas
•Readers restrictions on documents
•Index property not set to Automatic
Saving a document (submitting from a browser, •Time functions in view formulas
agent‐based saves of other docs) •Large active views with broad selection
formulas
•Excessive view categorization
Creating/opening/saving document •Large, continuous tables on forms
•Excessive DbLookup/DbColumn operations
•Inefficient WebQueryOpen/WebQueryClose
LotusScript events
68. What We’ll Cover …
• Sviluppare per le performance
• Gestire l’indicizzazione delle viste
• Tecniche di ottimizzazione per il Web
• Configurare il server per le performance
• Individuare i problemi di performance
• Monitorare le risorse del server
• Altre informazioni
69. Resource Monitoring
Limited by
Processor
• Example: agent is bound by CPU.
More RAM would not help.
71. Gli Speakers
Daniele Vistalli
Fabrizio Marchesano
Giorgio Blanghetti Gli Autori
Fabio Pignatti
Daniele Grillo
Enzo Stanzione Lui
Claudio Meregalli
Marianna Tomasatti
Giuseppe Grasso
Giuseppe Bucciarelli Davide Pannuto
Nico Vis
Jamie Magee
I Nostri Sponsor