SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
#engageug
Back from the Dead:!
When Bad Code !
Kills a Good Server
Engage User Group Conference, Eindhoven!
March 2016!
!
Serdar Basegmez - Developi - @serdar_basegmez!
William Malchisky Jr. - ESS - @BillMalchisky
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
2
• Preface!
• Chapter I - The Beginning!
• Chapter 2 - Searching for Clues!
• Chapter 3 - Creating a Solid Platform!
• Chapter 4 - The Softside of Performance Gains!
• The Final Chapter - Results
Our Story in Forty Minutes
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
3
"Ladies and Gentlemen. The story you are about to
see is true; the names have been changed to
protect the innocent." --Dragnet
!
!
For example... Acme Corporation is now referred to as Acme, Inc.
Disclaimer
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
4
• What we will cover!
• Problem analysis!
• Troubleshooting skills!
• Best practices!
• The performance impact of suboptimal applications!
• What we omitted!
• Boring, rambling, dry, lectures!
• Useless drivel
Setting Expectations
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
5
• Preface!
• Chapter I - The Beginning!
• Chapter 2 - Searching for Clues!
• Chapter 3 - Creating a Solid Platform!
• Chapter 4 - The Softside of Performance Gains!
• The Final Chapter - Results
Our Story in Forty Minutes
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
6
• "We're having a problem. Can you help?"!
• "Absolutely. What's happening?"!
• "Our mission critical DB is really $%&@#$^& our
users. It's way too slow. It takes less time to reboot
[Windows 3.1 on an i386 with 32MB RAM] than to
open a document."!
• "Any idea what changed?"!
• "We don't know. We have not touched the box."
Customer Calls
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
7
• Lack of expertise and/or knowledge!
• Unplanned and/or unexpected expansion!
• No dedicated Administrator!
• No change management!
• No monitoring!
• Workaround overloading
Why Domino Servers Fail?
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
8
• Preface!
• Chapter I - The Beginning!
• Chapter 2 - Searching for Clues!
• Chapter 3 - Creating a Solid Platform!
• Chapter 4 - The Softside of Performance Gains!
• The Final Chapter - Results
Our Story in Forty Minutes
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
9
• While waiting for access... request the following!
!
!
!
!
• Helps establish the level of criticality
"Round Up the Usual Suspects"
notes.ini log.sf
sh tasks top
vmstat iosys
df -h User to server ping results
mount swapon -s
Server NAB DB copy, sans users
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
10
malchw@san-domino:~$ iostat
Linux 3.13.0-83-generic (san-domino) 03/23/2016 _x86_64_ (8 CPU)
!
avg-cpu: %user %nice %system %iowait %steal %idle
6.21 0.25 3.69 0.51 0.00 89.34
!
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 45.34 2075.44 778.25 6028264 2260469
sdb 0.36 1.52 0.03 4422 80
dm-0 24.51 117.04 186.80 339957 542584
dm-1 16.17 415.61 79.82 1207173 231836
dm-2 17.64 1540.92 511.61 4475713 1485996
!
malchw@san-domino:~$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 16943764 153144 7941660 0 0 262 98 144 681 6 4 89 1 0
Quick Example - iostat, vmstat
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
11
• Run DCT - returned a few items, but nothing
applicable to the performance issue experienced!
• Check Domino stats!
• Located a key issue - needle in haystack!
• SAI fluctuated wildly, frequently, plummeting to
18% for minutes on end!
• Locate any recent NSD files for analysis
Data, Data Everywhere
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
12
• Watch the server when nobody else does!
• Lots of strange things happen on servers overnight!
• Observed the system processing over one million
records in :15 twice a week, at different times!
• For example… no one at Acme, Inc. knew this
occurred or why
Pro Tip on Data Collection
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
13
• Swap space 50% of installed memory!
• Memory was under 1GB for mission critical server!
• Several key DBs contained 100k+ docs!
• Combination created page faulting plague further
eroding performance!
• System properly patched!
• Free space adequate
Initial Data Analysis - OS
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
14
• Obvious but important data points!
• Server layout!
• Where items located!
• Recognized server.id file!
• Server tasks!
• Contrast to sh tasks requested earlier!
• No obvious problems
Initial Data Analysis - Notes.ini
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
15
• Agents running all hours of the night and day!
• Agents running from DBs actively being compacted!
• Agents running from DBs when updall and fixup
running!
• Not all scheduled agents needed to run all weekend
Initial Data Analysis - Amgr
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
16
• Compact still running when updall Program fires-off!
• Compact never finished before execution time ceiling hit!
• Left largest DBs in a completely suboptimal state!
• Connected to servers that did not exist!
• Scheduled replication documents !
• Significant delays with replica synchronization!
• Ensured data never properly synchronized across
domain!
• Certain connection documents only covered two DBs
Initial Data Analysis - Log.sf
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
17
• Several big DBs last fixup completed two years ago!
• Most heavily used files 30-75% Used!
• Many views means clicking one forces a new index
build!
• No design, document, or attachment compression!
• Design server task citing non-existent templates
Initial Data Analysis - DBs
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
18
• Preface!
• Chapter I - The Beginning!
• Chapter 2 - Searching for Clues!
• Chapter 3 - Creating a Solid Platform!
• Chapter 4 - The Softside of Performance Gains!
• The Final Chapter - Results
Our Story in Forty Minutes
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
19
• Swap space - No set rule these days!
• 1.5x - 2.0x RAM is good rule of thumb!
• Memory - 4GB per processor on busy servers!
• VMware settings if available!
• Avoid temptation of too many processors!
• Review partitions and free space
Tier 1 - OS
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
20
• Check that previous made system changes stick!
• Unfamiliar servers can exhibit odd behavior!
• Check Technotes for any recent performance issues!
• Once OS is working, check to ensure that
virtualization is optimal
Additional OS Considerations
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
21
• Space properly Program Documents!
• Avoid overlap with agents and other Programs!
• Pause agent schedule during maintenance!
• Schedule a weekend to complete first full maintenance!
• First full compact will take much longer than you realize!
• Create maintenance schedule of tasks agreed to by
business line managers!
• Ensures all needed jobs are available when needed
Tier 2 - Domino
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
22
• Review all enabled Domino features to ensure that
they function properly!
• Simple configuration miscues can impact
negatively!
• Cluster replication unable to locate a cluster
member!
• DNS errors create lookup delays!
• Remove unneeded, deprecated network ports
Additional Items to Fix
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
23
• Preface!
• Chapter I - The Beginning!
• Chapter 2 - Searching for Clues!
• Chapter 3 - Creating a Solid Platform!
• Chapter 4 - The Softside of Performance Gains!
• The Final Chapter - Results
Our Story in Forty Minutes
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
24
• Domino Admin handled the first level treatment!
• Server performs well, but not good enough!
• Triangulated the issue to a mission-critical
application!
• Now what?
Where are We?
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
25
• Lack of expertise and/or knowledge!
• Developers evolved from power users !
• Architecture overloading !
• Unplanned and/or unexpected expansion!
• Undocumented code and/or business process!
• No change management!
• Quick & dirty development
Why Domino Apps Fail?
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
26
• There is no magic pill for finding a performance
issue!
• Many problems are circumstantial!
• Depends on who/when/how…!
• Repeating the problem on a controlled environment!
• Need for Proof!!
• The most difficult part of the task!
• Need to be systematical
Developers vs Performance Issues
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
27
• Research and Assessment,!
• Speculation for fixes,!
• Experiment,!
• Prove!
Science Just Works!
http://www.wired.com/2013/04/whats-wrong-with-the-scientific-method/
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
28
Methodology
Research
✤ Symptoms (e.g. logs, performance data, etc.)!
✤ Story (e.g. user input)!
✤ Application code
Hypothesis
✤ Speculation on possible reasons!
✤ Search for ‘Usual Suspects’
Experiment ✤ Testing for possible reasons
Analyze ✤ Check symptoms if fixed
Conclusion ✤ Issue validated and proved to be fixed.
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
29
• What to collect, based on the symptom;!
• CPU/memory load, hangs, spikes, crashes, etc.!
• All the time, the same time everyday or random?!
• Experienced by specific users?!
• We are looking for a pattern between incidents.
Research & Assessment
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
30
Log/NSD/Semaphore files!
Server configuration (inc. notes.ini)!
Server monitoring and statistics data!
Web logs (for web application issues)!
XPages and OSGi logs (for XPages specific issues)!
Application and dependencies
Data Collection Checklist
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
31
• Sometimes, even opening in DDE may cause issues!!
• e.g. XPages components are automatically built!
• Application code might have side effects!
• e.g. Updating on another data source, adding audit
logs, performance degradation on the server, etc.!
• There will be dependencies!
• Once isolated, we can start inspection…
Isolate the Application
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
32
• Database corruptions!
• @Today/@Now in views!
• Code snippets acting like an admin!
• Updating views, replicating databases, running server
commands, etc.!
• Code snippets using the worst practices!
• Search in a large database, wrong looping, etc.!
• Anything that fits into the pattern if there is one!
• e.g. An agent matching the incident timing
Usual Suspects
#engageug
Nothing yet?!
Digging deeper!
33
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
34
• Deeper investigation needs a teaming effort!
• Admins and Developers should collaborate!
• A test setup to simulate the production environment!
• Intensive / Controlled debugging sessions in limited
time windows!
• Sharing expertise!
• Experimenting on production should be the last resort !
• Once a repeatable error found, cooperate for a solution
Team Up!
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
35
• JVM Crash with the HTTP task!
• Random times!
• No pattern in the log!
• Memory dumps point a leak in the JVM Heap!
• Inspected XPages applications, nothing found!
• Triangulated the problem into one XPages app, following
clues in intensive debugging on memory!
• Isolated the application for a load test, nothing found!
• Increased logging, to collect more data, no hope!
Example Case - Analysis
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
36
• Checked the server configuration and noticed!
• Logging data incomplete!
• Removed exclusions!
• New logs pointed the problem!
• Searching software crawling a specific page!
• Page generates state data, fills up the memory!
• Simulated the same crash on the test
environment!
• One line of code fixed the issue
Example Case - Resolution
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
37
• A mission critical application at a bank!
• Web application with 2000+ users!
• CPU spikes and random hangs, mostly afternoon!
• Logs are clear, no crashes, no error messages!
• Isolated the application, inspected the ‘usual suspects’!
• Found a web agent updating a view!!
• Triangulated the problem using web logs and SEMDEBUG!
• But, cannot validate the issue on the test environment…
Another Case - Analysis
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
38
• Cooperated with the Domino Admin!
• Detailed assessment on the server configuration!
• We found the issue!!
• “ServerTasksAt14” running an updall task.!
• Another Program file running Updall on a specific
database, every 30 minutes!
• Applied to the test platform, validated by a load test!
• Problem solved!
Another Case - Resolution
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
39
• Preface!
• Chapter I - The Beginning!
• Chapter 2 - Searching for Clues!
• Chapter 3 - Creating a Solid Platform!
• Chapter 4 - The Softside of Performance Gains!
• The Final Chapter - Results
Our Story in Forty Minutes
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
40
• Page faults reduced to zero!
• General DB usage and administration tasks work well!
• SAI now over 80%!
• Weird overnight (agent) system operations resolved!
• Key DBs have 93% used space threshold now!
• All DBs compressed: design, documents, all attachments!
• Program documents, agent schedules all adjusted: finish,
no overlap
Quality Analysis Yields Quality
Results
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
41
Note on Performance
When done properly, few users tend to
notice the change, but if reverted they will all
complain
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
42
Neither admin nor developer !
could solve all of these issues alone!
Teamwork vs. Performance
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
43
• You can get help inspecting applications and servers!!
• They have also helped Engage!
Bonus Slide
cooperteam MartinScott
teamstudio Ytria
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
44
• IBM Champion (2011 - 2016)!
• Developi Information Systems, Istanbul!
• Contributing…!
• OpenNTF / LUGTR / LotusNotus.com!
• Featured on…!
• Engage UG, IBM Connect, ICON UK,
NotesIn9…!
• Also…!
• Blogger and Podcaster on Scientific Skepticism
Serdar Başeğmez
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
45
• IBM Champion (2011 - 2016)!
• Effective Software Solutions, LLC!
• Co-founder of Linuxfest at Lotusphere/Connect!
• Speaker at 20+ Lotus/IBM related events/
LUGs!
• Co-authored two IBM Redbooks!
• Co-wrote the IBM Education Administration
certification track for Domino 8.5
William Malchisky Jr.
#engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY-
NC-SA 4.0
46
Follow Up - Contact Information
!
Serdar Basegmez!
!
serdar.basegmez@developi.com
!
@serdar_basegmez
Skype: sbasegmez
!
Bill Malchisky Jr.!
!
william.malchisky@effectivesoftware.com
!
@billmalchisky
Skype: FairTaxBill

Mais conteúdo relacionado

Mais procurados

IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning Vladislav Tatarincev
 
Planning and Completing an IBM Connections Upgrade
Planning and Completing an IBM Connections UpgradePlanning and Completing an IBM Connections Upgrade
Planning and Completing an IBM Connections UpgradeGabriella Davis
 
SmartCloud Administration Best Practices MWLUG 2016
SmartCloud Administration Best Practices MWLUG 2016SmartCloud Administration Best Practices MWLUG 2016
SmartCloud Administration Best Practices MWLUG 2016David Hablewitz
 
You don't want to do it like that
You don't want to do it like thatYou don't want to do it like that
You don't want to do it like thatSharon James
 
Rock Solid Sametime for High Availability
Rock Solid Sametime for High AvailabilityRock Solid Sametime for High Availability
Rock Solid Sametime for High AvailabilityGabriella Davis
 
Cloudstone - Sharpening Your Weapons Through Big Data
Cloudstone - Sharpening Your Weapons Through Big DataCloudstone - Sharpening Your Weapons Through Big Data
Cloudstone - Sharpening Your Weapons Through Big DataChristopher Grayson
 
Practical solutions for connections administrators lite
Practical solutions for connections administrators litePractical solutions for connections administrators lite
Practical solutions for connections administrators liteSharon James
 
The SSL Problem and How to Deploy SHA2 Certificates
The SSL Problem and How to Deploy SHA2 CertificatesThe SSL Problem and How to Deploy SHA2 Certificates
The SSL Problem and How to Deploy SHA2 CertificatesGabriella Davis
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerHoward Greenberg
 
Notes, domino and the single sign on soup
Notes, domino and the single sign on soupNotes, domino and the single sign on soup
Notes, domino and the single sign on soupDarren Duke
 
IAmLUG presentation: Domino Admin Best Practices - Hunting the Gremlins
IAmLUG presentation: Domino Admin Best Practices - Hunting the GremlinsIAmLUG presentation: Domino Admin Best Practices - Hunting the Gremlins
IAmLUG presentation: Domino Admin Best Practices - Hunting the GremlinsDavid Hablewitz
 
engage 2019 - 15 Domino v10 Admin features we LOVE
engage 2019 - 15 Domino v10 Admin features we LOVEengage 2019 - 15 Domino v10 Admin features we LOVE
engage 2019 - 15 Domino v10 Admin features we LOVEChristoph Adler
 
Inform2015 - What's New in Domino 9 & 9.0.1 for Admins
Inform2015 - What's New in Domino 9 & 9.0.1 for AdminsInform2015 - What's New in Domino 9 & 9.0.1 for Admins
Inform2015 - What's New in Domino 9 & 9.0.1 for AdminsJared Roberts
 
Traveler management, security and performance
Traveler management, security and performanceTraveler management, security and performance
Traveler management, security and performanceGabriella Davis
 
How to use the new Domino Query Language
How to use the new Domino Query LanguageHow to use the new Domino Query Language
How to use the new Domino Query LanguageTim Davis
 
RIPE 71 and IETF 94 reports webinar
RIPE 71 and IETF 94 reports webinarRIPE 71 and IETF 94 reports webinar
RIPE 71 and IETF 94 reports webinarMen and Mice
 
What We Wish We Had Known: Becoming an IBM Connections Administrator
What We Wish We Had Known: Becoming an IBM Connections AdministratorWhat We Wish We Had Known: Becoming an IBM Connections Administrator
What We Wish We Had Known: Becoming an IBM Connections AdministratorGabriella Davis
 
An Introduction To Docker
An Introduction To  DockerAn Introduction To  Docker
An Introduction To DockerGabriella Davis
 

Mais procurados (20)

IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning
 
Planning and Completing an IBM Connections Upgrade
Planning and Completing an IBM Connections UpgradePlanning and Completing an IBM Connections Upgrade
Planning and Completing an IBM Connections Upgrade
 
SmartCloud Administration Best Practices MWLUG 2016
SmartCloud Administration Best Practices MWLUG 2016SmartCloud Administration Best Practices MWLUG 2016
SmartCloud Administration Best Practices MWLUG 2016
 
You don't want to do it like that
You don't want to do it like thatYou don't want to do it like that
You don't want to do it like that
 
Rock Solid Sametime for High Availability
Rock Solid Sametime for High AvailabilityRock Solid Sametime for High Availability
Rock Solid Sametime for High Availability
 
Cloudstone - Sharpening Your Weapons Through Big Data
Cloudstone - Sharpening Your Weapons Through Big DataCloudstone - Sharpening Your Weapons Through Big Data
Cloudstone - Sharpening Your Weapons Through Big Data
 
Grey H@t - DNS Cache Poisoning
Grey H@t - DNS Cache PoisoningGrey H@t - DNS Cache Poisoning
Grey H@t - DNS Cache Poisoning
 
Practical solutions for connections administrators lite
Practical solutions for connections administrators litePractical solutions for connections administrators lite
Practical solutions for connections administrators lite
 
The SSL Problem and How to Deploy SHA2 Certificates
The SSL Problem and How to Deploy SHA2 CertificatesThe SSL Problem and How to Deploy SHA2 Certificates
The SSL Problem and How to Deploy SHA2 Certificates
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification Manager
 
Notes, domino and the single sign on soup
Notes, domino and the single sign on soupNotes, domino and the single sign on soup
Notes, domino and the single sign on soup
 
IAmLUG presentation: Domino Admin Best Practices - Hunting the Gremlins
IAmLUG presentation: Domino Admin Best Practices - Hunting the GremlinsIAmLUG presentation: Domino Admin Best Practices - Hunting the Gremlins
IAmLUG presentation: Domino Admin Best Practices - Hunting the Gremlins
 
engage 2019 - 15 Domino v10 Admin features we LOVE
engage 2019 - 15 Domino v10 Admin features we LOVEengage 2019 - 15 Domino v10 Admin features we LOVE
engage 2019 - 15 Domino v10 Admin features we LOVE
 
Inform2015 - What's New in Domino 9 & 9.0.1 for Admins
Inform2015 - What's New in Domino 9 & 9.0.1 for AdminsInform2015 - What's New in Domino 9 & 9.0.1 for Admins
Inform2015 - What's New in Domino 9 & 9.0.1 for Admins
 
60 Admin Tips
60 Admin Tips60 Admin Tips
60 Admin Tips
 
Traveler management, security and performance
Traveler management, security and performanceTraveler management, security and performance
Traveler management, security and performance
 
How to use the new Domino Query Language
How to use the new Domino Query LanguageHow to use the new Domino Query Language
How to use the new Domino Query Language
 
RIPE 71 and IETF 94 reports webinar
RIPE 71 and IETF 94 reports webinarRIPE 71 and IETF 94 reports webinar
RIPE 71 and IETF 94 reports webinar
 
What We Wish We Had Known: Becoming an IBM Connections Administrator
What We Wish We Had Known: Becoming an IBM Connections AdministratorWhat We Wish We Had Known: Becoming an IBM Connections Administrator
What We Wish We Had Known: Becoming an IBM Connections Administrator
 
An Introduction To Docker
An Introduction To  DockerAn Introduction To  Docker
An Introduction To Docker
 

Destaque

Linux School: Advanced Administration for IBM Software
Linux School: Advanced Administration for IBM SoftwareLinux School: Advanced Administration for IBM Software
Linux School: Advanced Administration for IBM SoftwareBill Malchisky Jr.
 
Ian Filippini Santa Barbara
Ian Filippini Santa BarbaraIan Filippini Santa Barbara
Ian Filippini Santa BarbaraIan Filippini
 
1.2.10 Устройства управления и сигнализации
1.2.10 Устройства управления и сигнализации1.2.10 Устройства управления и сигнализации
1.2.10 Устройства управления и сигнализацииIgor Golovin
 
10 Rules Of Branding by Sumardy
10 Rules Of Branding by Sumardy10 Rules Of Branding by Sumardy
10 Rules Of Branding by SumardyAdhika Dirgantara
 
Royal Families Of The World
Royal Families Of The WorldRoyal Families Of The World
Royal Families Of The World528Hz TRUTH
 
Pokemon Go: Gotta Catch...A Cheater?
Pokemon Go: Gotta Catch...A Cheater?Pokemon Go: Gotta Catch...A Cheater?
Pokemon Go: Gotta Catch...A Cheater?Goldberg Jones
 
PATRICK PARKER REALTY OPEN HOUSE EVENT! FEBRUARY 26, 2017
PATRICK PARKER REALTY OPEN HOUSE EVENT! FEBRUARY 26, 2017PATRICK PARKER REALTY OPEN HOUSE EVENT! FEBRUARY 26, 2017
PATRICK PARKER REALTY OPEN HOUSE EVENT! FEBRUARY 26, 2017Patrick Parker Realty
 
Neutral Host D-RAN datasheet
Neutral Host D-RAN datasheetNeutral Host D-RAN datasheet
Neutral Host D-RAN datasheetMark Fin
 
Constituição Do Código Da Vida - O DNA
Constituição Do Código Da Vida - O DNAConstituição Do Código Da Vida - O DNA
Constituição Do Código Da Vida - O DNADiogo Costa
 

Destaque (11)

Linux School: Advanced Administration for IBM Software
Linux School: Advanced Administration for IBM SoftwareLinux School: Advanced Administration for IBM Software
Linux School: Advanced Administration for IBM Software
 
Ian Filippini Santa Barbara
Ian Filippini Santa BarbaraIan Filippini Santa Barbara
Ian Filippini Santa Barbara
 
1.2.10 Устройства управления и сигнализации
1.2.10 Устройства управления и сигнализации1.2.10 Устройства управления и сигнализации
1.2.10 Устройства управления и сигнализации
 
10 Rules Of Branding by Sumardy
10 Rules Of Branding by Sumardy10 Rules Of Branding by Sumardy
10 Rules Of Branding by Sumardy
 
Royal Families Of The World
Royal Families Of The WorldRoyal Families Of The World
Royal Families Of The World
 
مشروع كسوة اليتيم في البانيا
مشروع كسوة اليتيم في البانيامشروع كسوة اليتيم في البانيا
مشروع كسوة اليتيم في البانيا
 
Pokemon Go: Gotta Catch...A Cheater?
Pokemon Go: Gotta Catch...A Cheater?Pokemon Go: Gotta Catch...A Cheater?
Pokemon Go: Gotta Catch...A Cheater?
 
PATRICK PARKER REALTY OPEN HOUSE EVENT! FEBRUARY 26, 2017
PATRICK PARKER REALTY OPEN HOUSE EVENT! FEBRUARY 26, 2017PATRICK PARKER REALTY OPEN HOUSE EVENT! FEBRUARY 26, 2017
PATRICK PARKER REALTY OPEN HOUSE EVENT! FEBRUARY 26, 2017
 
Neutral Host D-RAN datasheet
Neutral Host D-RAN datasheetNeutral Host D-RAN datasheet
Neutral Host D-RAN datasheet
 
Actividades PDM
Actividades PDMActividades PDM
Actividades PDM
 
Constituição Do Código Da Vida - O DNA
Constituição Do Código Da Vida - O DNAConstituição Do Código Da Vida - O DNA
Constituição Do Código Da Vida - O DNA
 

Semelhante a Back from the Dead: How Bad Code Killed a Server

Engage 2016: Back From the Dead: How Bad Code Kills a Good Server
Engage 2016: Back From the Dead: How Bad Code Kills a Good ServerEngage 2016: Back From the Dead: How Bad Code Kills a Good Server
Engage 2016: Back From the Dead: How Bad Code Kills a Good ServerSerdar Basegmez
 
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good Server
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good ServerIBM Connect 2017: Back from the Dead: When Bad Code Kills a Good Server
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good ServerSerdar Basegmez
 
Back from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good ServerBack from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good ServerTeamstudio
 
ICONUK 2016: Back From the Dead: How Bad Code Kills a Good Server
ICONUK 2016: Back From the Dead: How Bad Code Kills a Good ServerICONUK 2016: Back From the Dead: How Bad Code Kills a Good Server
ICONUK 2016: Back From the Dead: How Bad Code Kills a Good ServerSerdar Basegmez
 
Running MongoDB in the Cloud
Running MongoDB in the CloudRunning MongoDB in the Cloud
Running MongoDB in the CloudTony Tam
 
Toward low-latency Java applications - javaOne 2014
Toward low-latency Java applications - javaOne 2014Toward low-latency Java applications - javaOne 2014
Toward low-latency Java applications - javaOne 2014John Davies
 
What is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress HostingWhat is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress HostingWPSFO Meetup Group
 
WordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress WebappsWordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress Webappstjasko
 
Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18BIWUG
 
NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5UniFabric
 
Webinar: IBM Connections Adminblast
Webinar: IBM Connections AdminblastWebinar: IBM Connections Adminblast
Webinar: IBM Connections AdminblastNico Meisenzahl
 
Webinar: IBM Connections Adminblast
Webinar: IBM Connections AdminblastWebinar: IBM Connections Adminblast
Webinar: IBM Connections Adminblastpanagenda
 
Design for Scale / Surge 2010
Design for Scale / Surge 2010Design for Scale / Surge 2010
Design for Scale / Surge 2010Christopher Brown
 
Open source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesOpen source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesRogue Wave Software
 
Webhooks with Azure Functions - Live 360 Conference
Webhooks with Azure Functions - Live 360 ConferenceWebhooks with Azure Functions - Live 360 Conference
Webhooks with Azure Functions - Live 360 ConferenceSparkPost
 
From 100s to 100s of Millions
From 100s to 100s of MillionsFrom 100s to 100s of Millions
From 100s to 100s of MillionsErik Onnen
 
2010 11 pubcon_hendison-hosting
2010 11 pubcon_hendison-hosting2010 11 pubcon_hendison-hosting
2010 11 pubcon_hendison-hostingshendison
 
Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data
Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data
Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data Hejwowski Piotr
 

Semelhante a Back from the Dead: How Bad Code Killed a Server (20)

Engage 2016: Back From the Dead: How Bad Code Kills a Good Server
Engage 2016: Back From the Dead: How Bad Code Kills a Good ServerEngage 2016: Back From the Dead: How Bad Code Kills a Good Server
Engage 2016: Back From the Dead: How Bad Code Kills a Good Server
 
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good Server
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good ServerIBM Connect 2017: Back from the Dead: When Bad Code Kills a Good Server
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good Server
 
Back from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good ServerBack from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good Server
 
ICONUK 2016: Back From the Dead: How Bad Code Kills a Good Server
ICONUK 2016: Back From the Dead: How Bad Code Kills a Good ServerICONUK 2016: Back From the Dead: How Bad Code Kills a Good Server
ICONUK 2016: Back From the Dead: How Bad Code Kills a Good Server
 
Running MongoDB in the Cloud
Running MongoDB in the CloudRunning MongoDB in the Cloud
Running MongoDB in the Cloud
 
Toward low-latency Java applications - javaOne 2014
Toward low-latency Java applications - javaOne 2014Toward low-latency Java applications - javaOne 2014
Toward low-latency Java applications - javaOne 2014
 
What is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress HostingWhat is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress Hosting
 
WordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress WebappsWordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress Webapps
 
Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18
 
NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5
 
Webinar: IBM Connections Adminblast
Webinar: IBM Connections AdminblastWebinar: IBM Connections Adminblast
Webinar: IBM Connections Adminblast
 
Webinar: IBM Connections Adminblast
Webinar: IBM Connections AdminblastWebinar: IBM Connections Adminblast
Webinar: IBM Connections Adminblast
 
Design for Scale / Surge 2010
Design for Scale / Surge 2010Design for Scale / Surge 2010
Design for Scale / Surge 2010
 
Open source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesOpen source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packages
 
Distributed "Web Scale" Systems
Distributed "Web Scale" SystemsDistributed "Web Scale" Systems
Distributed "Web Scale" Systems
 
Webhooks with Azure Functions - Live 360 Conference
Webhooks with Azure Functions - Live 360 ConferenceWebhooks with Azure Functions - Live 360 Conference
Webhooks with Azure Functions - Live 360 Conference
 
From 100s to 100s of Millions
From 100s to 100s of MillionsFrom 100s to 100s of Millions
From 100s to 100s of Millions
 
2010 11 pubcon_hendison-hosting
2010 11 pubcon_hendison-hosting2010 11 pubcon_hendison-hosting
2010 11 pubcon_hendison-hosting
 
Dibi Conference 2012
Dibi Conference 2012Dibi Conference 2012
Dibi Conference 2012
 
Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data
Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data
Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data
 

Mais de Bill Malchisky Jr.

Infrastructure Fitness and Design Simplicity for IBM Mobile Connect
Infrastructure Fitness and Design Simplicity for IBM Mobile ConnectInfrastructure Fitness and Design Simplicity for IBM Mobile Connect
Infrastructure Fitness and Design Simplicity for IBM Mobile ConnectBill Malchisky Jr.
 
Considering The Cloud? Thinking Beyond The Readme File
Considering The Cloud? Thinking Beyond The Readme FileConsidering The Cloud? Thinking Beyond The Readme File
Considering The Cloud? Thinking Beyond The Readme FileBill Malchisky Jr.
 
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsThe Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsBill Malchisky Jr.
 
The eDiscovery Primer for Lotus Domino Admins
The eDiscovery Primer for Lotus Domino AdminsThe eDiscovery Primer for Lotus Domino Admins
The eDiscovery Primer for Lotus Domino AdminsBill Malchisky Jr.
 
Raising the ROI of IT with IBM Client for Smart Work
Raising the ROI of IT with IBM Client for Smart WorkRaising the ROI of IT with IBM Client for Smart Work
Raising the ROI of IT with IBM Client for Smart WorkBill Malchisky Jr.
 
Lowering Costs: Should We Consider Lotus On Linux?
Lowering Costs: Should We Consider Lotus On Linux?Lowering Costs: Should We Consider Lotus On Linux?
Lowering Costs: Should We Consider Lotus On Linux?Bill Malchisky Jr.
 
IamLUG -- Lotus On Linux Report
IamLUG -- Lotus On Linux ReportIamLUG -- Lotus On Linux Report
IamLUG -- Lotus On Linux ReportBill Malchisky Jr.
 

Mais de Bill Malchisky Jr. (9)

The Domino 10 RHEL 7 Primer
The Domino 10 RHEL 7 PrimerThe Domino 10 RHEL 7 Primer
The Domino 10 RHEL 7 Primer
 
Infrastructure Fitness and Design Simplicity for IBM Mobile Connect
Infrastructure Fitness and Design Simplicity for IBM Mobile ConnectInfrastructure Fitness and Design Simplicity for IBM Mobile Connect
Infrastructure Fitness and Design Simplicity for IBM Mobile Connect
 
Considering The Cloud? Thinking Beyond The Readme File
Considering The Cloud? Thinking Beyond The Readme FileConsidering The Cloud? Thinking Beyond The Readme File
Considering The Cloud? Thinking Beyond The Readme File
 
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsThe Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
 
Lotus on Linux Report 2010
Lotus on Linux Report 2010Lotus on Linux Report 2010
Lotus on Linux Report 2010
 
The eDiscovery Primer for Lotus Domino Admins
The eDiscovery Primer for Lotus Domino AdminsThe eDiscovery Primer for Lotus Domino Admins
The eDiscovery Primer for Lotus Domino Admins
 
Raising the ROI of IT with IBM Client for Smart Work
Raising the ROI of IT with IBM Client for Smart WorkRaising the ROI of IT with IBM Client for Smart Work
Raising the ROI of IT with IBM Client for Smart Work
 
Lowering Costs: Should We Consider Lotus On Linux?
Lowering Costs: Should We Consider Lotus On Linux?Lowering Costs: Should We Consider Lotus On Linux?
Lowering Costs: Should We Consider Lotus On Linux?
 
IamLUG -- Lotus On Linux Report
IamLUG -- Lotus On Linux ReportIamLUG -- Lotus On Linux Report
IamLUG -- Lotus On Linux Report
 

Último

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Back from the Dead: How Bad Code Killed a Server

  • 1. #engageug Back from the Dead:! When Bad Code ! Kills a Good Server Engage User Group Conference, Eindhoven! March 2016! ! Serdar Basegmez - Developi - @serdar_basegmez! William Malchisky Jr. - ESS - @BillMalchisky
  • 2. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 2 • Preface! • Chapter I - The Beginning! • Chapter 2 - Searching for Clues! • Chapter 3 - Creating a Solid Platform! • Chapter 4 - The Softside of Performance Gains! • The Final Chapter - Results Our Story in Forty Minutes
  • 3. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 3 "Ladies and Gentlemen. The story you are about to see is true; the names have been changed to protect the innocent." --Dragnet ! ! For example... Acme Corporation is now referred to as Acme, Inc. Disclaimer
  • 4. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 4 • What we will cover! • Problem analysis! • Troubleshooting skills! • Best practices! • The performance impact of suboptimal applications! • What we omitted! • Boring, rambling, dry, lectures! • Useless drivel Setting Expectations
  • 5. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 5 • Preface! • Chapter I - The Beginning! • Chapter 2 - Searching for Clues! • Chapter 3 - Creating a Solid Platform! • Chapter 4 - The Softside of Performance Gains! • The Final Chapter - Results Our Story in Forty Minutes
  • 6. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 6 • "We're having a problem. Can you help?"! • "Absolutely. What's happening?"! • "Our mission critical DB is really $%&@#$^& our users. It's way too slow. It takes less time to reboot [Windows 3.1 on an i386 with 32MB RAM] than to open a document."! • "Any idea what changed?"! • "We don't know. We have not touched the box." Customer Calls
  • 7. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 7 • Lack of expertise and/or knowledge! • Unplanned and/or unexpected expansion! • No dedicated Administrator! • No change management! • No monitoring! • Workaround overloading Why Domino Servers Fail?
  • 8. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 8 • Preface! • Chapter I - The Beginning! • Chapter 2 - Searching for Clues! • Chapter 3 - Creating a Solid Platform! • Chapter 4 - The Softside of Performance Gains! • The Final Chapter - Results Our Story in Forty Minutes
  • 9. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 9 • While waiting for access... request the following! ! ! ! ! • Helps establish the level of criticality "Round Up the Usual Suspects" notes.ini log.sf sh tasks top vmstat iosys df -h User to server ping results mount swapon -s Server NAB DB copy, sans users
  • 10. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 10 malchw@san-domino:~$ iostat Linux 3.13.0-83-generic (san-domino) 03/23/2016 _x86_64_ (8 CPU) ! avg-cpu: %user %nice %system %iowait %steal %idle 6.21 0.25 3.69 0.51 0.00 89.34 ! Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 45.34 2075.44 778.25 6028264 2260469 sdb 0.36 1.52 0.03 4422 80 dm-0 24.51 117.04 186.80 339957 542584 dm-1 16.17 415.61 79.82 1207173 231836 dm-2 17.64 1540.92 511.61 4475713 1485996 ! malchw@san-domino:~$ vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 16943764 153144 7941660 0 0 262 98 144 681 6 4 89 1 0 Quick Example - iostat, vmstat
  • 11. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 11 • Run DCT - returned a few items, but nothing applicable to the performance issue experienced! • Check Domino stats! • Located a key issue - needle in haystack! • SAI fluctuated wildly, frequently, plummeting to 18% for minutes on end! • Locate any recent NSD files for analysis Data, Data Everywhere
  • 12. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 12 • Watch the server when nobody else does! • Lots of strange things happen on servers overnight! • Observed the system processing over one million records in :15 twice a week, at different times! • For example… no one at Acme, Inc. knew this occurred or why Pro Tip on Data Collection
  • 13. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 13 • Swap space 50% of installed memory! • Memory was under 1GB for mission critical server! • Several key DBs contained 100k+ docs! • Combination created page faulting plague further eroding performance! • System properly patched! • Free space adequate Initial Data Analysis - OS
  • 14. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 14 • Obvious but important data points! • Server layout! • Where items located! • Recognized server.id file! • Server tasks! • Contrast to sh tasks requested earlier! • No obvious problems Initial Data Analysis - Notes.ini
  • 15. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 15 • Agents running all hours of the night and day! • Agents running from DBs actively being compacted! • Agents running from DBs when updall and fixup running! • Not all scheduled agents needed to run all weekend Initial Data Analysis - Amgr
  • 16. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 16 • Compact still running when updall Program fires-off! • Compact never finished before execution time ceiling hit! • Left largest DBs in a completely suboptimal state! • Connected to servers that did not exist! • Scheduled replication documents ! • Significant delays with replica synchronization! • Ensured data never properly synchronized across domain! • Certain connection documents only covered two DBs Initial Data Analysis - Log.sf
  • 17. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 17 • Several big DBs last fixup completed two years ago! • Most heavily used files 30-75% Used! • Many views means clicking one forces a new index build! • No design, document, or attachment compression! • Design server task citing non-existent templates Initial Data Analysis - DBs
  • 18. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 18 • Preface! • Chapter I - The Beginning! • Chapter 2 - Searching for Clues! • Chapter 3 - Creating a Solid Platform! • Chapter 4 - The Softside of Performance Gains! • The Final Chapter - Results Our Story in Forty Minutes
  • 19. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 19 • Swap space - No set rule these days! • 1.5x - 2.0x RAM is good rule of thumb! • Memory - 4GB per processor on busy servers! • VMware settings if available! • Avoid temptation of too many processors! • Review partitions and free space Tier 1 - OS
  • 20. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 20 • Check that previous made system changes stick! • Unfamiliar servers can exhibit odd behavior! • Check Technotes for any recent performance issues! • Once OS is working, check to ensure that virtualization is optimal Additional OS Considerations
  • 21. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 21 • Space properly Program Documents! • Avoid overlap with agents and other Programs! • Pause agent schedule during maintenance! • Schedule a weekend to complete first full maintenance! • First full compact will take much longer than you realize! • Create maintenance schedule of tasks agreed to by business line managers! • Ensures all needed jobs are available when needed Tier 2 - Domino
  • 22. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 22 • Review all enabled Domino features to ensure that they function properly! • Simple configuration miscues can impact negatively! • Cluster replication unable to locate a cluster member! • DNS errors create lookup delays! • Remove unneeded, deprecated network ports Additional Items to Fix
  • 23. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 23 • Preface! • Chapter I - The Beginning! • Chapter 2 - Searching for Clues! • Chapter 3 - Creating a Solid Platform! • Chapter 4 - The Softside of Performance Gains! • The Final Chapter - Results Our Story in Forty Minutes
  • 24. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 24 • Domino Admin handled the first level treatment! • Server performs well, but not good enough! • Triangulated the issue to a mission-critical application! • Now what? Where are We?
  • 25. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 25 • Lack of expertise and/or knowledge! • Developers evolved from power users ! • Architecture overloading ! • Unplanned and/or unexpected expansion! • Undocumented code and/or business process! • No change management! • Quick & dirty development Why Domino Apps Fail?
  • 26. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 26 • There is no magic pill for finding a performance issue! • Many problems are circumstantial! • Depends on who/when/how…! • Repeating the problem on a controlled environment! • Need for Proof!! • The most difficult part of the task! • Need to be systematical Developers vs Performance Issues
  • 27. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 27 • Research and Assessment,! • Speculation for fixes,! • Experiment,! • Prove! Science Just Works! http://www.wired.com/2013/04/whats-wrong-with-the-scientific-method/
  • 28. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 28 Methodology Research ✤ Symptoms (e.g. logs, performance data, etc.)! ✤ Story (e.g. user input)! ✤ Application code Hypothesis ✤ Speculation on possible reasons! ✤ Search for ‘Usual Suspects’ Experiment ✤ Testing for possible reasons Analyze ✤ Check symptoms if fixed Conclusion ✤ Issue validated and proved to be fixed.
  • 29. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 29 • What to collect, based on the symptom;! • CPU/memory load, hangs, spikes, crashes, etc.! • All the time, the same time everyday or random?! • Experienced by specific users?! • We are looking for a pattern between incidents. Research & Assessment
  • 30. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 30 Log/NSD/Semaphore files! Server configuration (inc. notes.ini)! Server monitoring and statistics data! Web logs (for web application issues)! XPages and OSGi logs (for XPages specific issues)! Application and dependencies Data Collection Checklist
  • 31. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 31 • Sometimes, even opening in DDE may cause issues!! • e.g. XPages components are automatically built! • Application code might have side effects! • e.g. Updating on another data source, adding audit logs, performance degradation on the server, etc.! • There will be dependencies! • Once isolated, we can start inspection… Isolate the Application
  • 32. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 32 • Database corruptions! • @Today/@Now in views! • Code snippets acting like an admin! • Updating views, replicating databases, running server commands, etc.! • Code snippets using the worst practices! • Search in a large database, wrong looping, etc.! • Anything that fits into the pattern if there is one! • e.g. An agent matching the incident timing Usual Suspects
  • 34. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 34 • Deeper investigation needs a teaming effort! • Admins and Developers should collaborate! • A test setup to simulate the production environment! • Intensive / Controlled debugging sessions in limited time windows! • Sharing expertise! • Experimenting on production should be the last resort ! • Once a repeatable error found, cooperate for a solution Team Up!
  • 35. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 35 • JVM Crash with the HTTP task! • Random times! • No pattern in the log! • Memory dumps point a leak in the JVM Heap! • Inspected XPages applications, nothing found! • Triangulated the problem into one XPages app, following clues in intensive debugging on memory! • Isolated the application for a load test, nothing found! • Increased logging, to collect more data, no hope! Example Case - Analysis
  • 36. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 36 • Checked the server configuration and noticed! • Logging data incomplete! • Removed exclusions! • New logs pointed the problem! • Searching software crawling a specific page! • Page generates state data, fills up the memory! • Simulated the same crash on the test environment! • One line of code fixed the issue Example Case - Resolution
  • 37. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 37 • A mission critical application at a bank! • Web application with 2000+ users! • CPU spikes and random hangs, mostly afternoon! • Logs are clear, no crashes, no error messages! • Isolated the application, inspected the ‘usual suspects’! • Found a web agent updating a view!! • Triangulated the problem using web logs and SEMDEBUG! • But, cannot validate the issue on the test environment… Another Case - Analysis
  • 38. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 38 • Cooperated with the Domino Admin! • Detailed assessment on the server configuration! • We found the issue!! • “ServerTasksAt14” running an updall task.! • Another Program file running Updall on a specific database, every 30 minutes! • Applied to the test platform, validated by a load test! • Problem solved! Another Case - Resolution
  • 39. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 39 • Preface! • Chapter I - The Beginning! • Chapter 2 - Searching for Clues! • Chapter 3 - Creating a Solid Platform! • Chapter 4 - The Softside of Performance Gains! • The Final Chapter - Results Our Story in Forty Minutes
  • 40. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 40 • Page faults reduced to zero! • General DB usage and administration tasks work well! • SAI now over 80%! • Weird overnight (agent) system operations resolved! • Key DBs have 93% used space threshold now! • All DBs compressed: design, documents, all attachments! • Program documents, agent schedules all adjusted: finish, no overlap Quality Analysis Yields Quality Results
  • 41. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 41 Note on Performance When done properly, few users tend to notice the change, but if reverted they will all complain
  • 42. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 42 Neither admin nor developer ! could solve all of these issues alone! Teamwork vs. Performance
  • 43. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 43 • You can get help inspecting applications and servers!! • They have also helped Engage! Bonus Slide cooperteam MartinScott teamstudio Ytria
  • 44. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 44 • IBM Champion (2011 - 2016)! • Developi Information Systems, Istanbul! • Contributing…! • OpenNTF / LUGTR / LotusNotus.com! • Featured on…! • Engage UG, IBM Connect, ICON UK, NotesIn9…! • Also…! • Blogger and Podcaster on Scientific Skepticism Serdar Başeğmez
  • 45. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 45 • IBM Champion (2011 - 2016)! • Effective Software Solutions, LLC! • Co-founder of Linuxfest at Lotusphere/Connect! • Speaker at 20+ Lotus/IBM related events/ LUGs! • Co-authored two IBM Redbooks! • Co-wrote the IBM Education Administration certification track for Domino 8.5 William Malchisky Jr.
  • 46. #engageug ©2016 Serdar Basegmez and William Malchisky Jr. Licensed under Creative Commons BY- NC-SA 4.0 46 Follow Up - Contact Information ! Serdar Basegmez! ! serdar.basegmez@developi.com ! @serdar_basegmez Skype: sbasegmez ! Bill Malchisky Jr.! ! william.malchisky@effectivesoftware.com ! @billmalchisky Skype: FairTaxBill