MySQL Performance Tuning für Oracle-DBA'sFromDual GmbH
MySQL Performance Tuning
* Was ist Performance?
* Was kostet Performance?
* Tuning Massnahmen
* MySQL Konfiguration
* Wo schauen?
* Langsame Abfragen finden
* Optimiere das Query!
* Monitoring
Der Datenbank-Backup ist gemacht - was nun?FromDual GmbH
* Datenbank-Backup – welcher Zweck?
* Tauglichkeit des Backup, Verifikation
* Echtdaten vollständig nutzen
* Dem Datenschutz genügen
* Material für die Entwicklung
* Automatisierung
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationFromDual GmbH
Weltweite Produktionsdatenverwaltung mit MySQL
* Ausgangslage
* Probleme die sich stellen
* Wer darf welche Daten kriegen?
* Wie werden Daten verteilt?
* Produktionsdaten zurück?
* MySQL multi-Source Replikation
* Bertriebsverantwortung
* Hochverfügbarkeit
* Sensitive Daten
* Wer darf welche Daten sehen?
* MySQL Row Filterung
* Nachträgliche Forderungen
MySQL High Availability Solutions: MySQL Replication, MySQL Read-Scaleout, Master/Slave Replication, Master/Master Replication, active/passive fail-over Cluster with SAN or DRBD, Galera Cluster for MySQL, MySQL NDB Cluster
Tipps zur Performanceoptimierung für Liferay PortalStefan Hilpp
Mit Liferay einer Open Source Portallösung werden umfangreiche Enterprise- oder Mitarbeiterportale realisiert. Liferay eignet sich auch für mehrsprachige Internetportale mit geschlossenen Nutzerräumen.
In allen Fällen muss Liferay den Zugriff von mehreren hunderten gleichzeitigen Zugriffen ohne großen Performance Verlust verkraften.
Leicht gesagt und nicht so einfach zu realisieren. Wir sind an das Thema Liferay Performance systematisch heran gegangen. Heraus gekommen sind allgemeine und Liferay spezifischen Regeln, die das Ziel haben eine gute Performance bei hoher Last zu erreichen.
Liferay - ein modernes Portalsystem
Liferay Portal, ein Open Source Portalsystem, eignet sich in Ihrem Unternehmen als mitarbeiter- und prozessorientiertes Enterprise Portal. Es ist eine Portal-Software, die es Ihrem Unternehmen ermöglicht, Informationen, Daten und Anwendungen unter einer einheitlichen Bedienungsoberfläche im Webbrowser zu vereinen, zu personalisieren und dadurch die Geschäftsprozesse Ihres Unternehmens elektronisch zu unterstützen. Die lizenzkostenfreie Open Source Software beeindruckt durch ihre Vielzahl an Funktionen und ihre hervorragende Software-Architektur.
500 Kunden als weltweite Referenzen in verschiedensten Industriebereichen
Schnelle Innovationszyklen
Neue Releases im Abstand von jeweils 8 Monaten
Eine starke Community mit rund 3 Millionen Downloads
250.000 installierten Anwendungen weltweit
Liferay Portal ist das am häufigsten eingesetzte und ausgereifte Open Source Portalframework
Liferay Portal mit mehr als 150 Portlets ist nicht nur die breiteste, sondern auch funktional umfassendste Entwicklung im Open Source Portalumfeld
comundus hat sich seit ihrer Gründung 2001 in Waiblingen bei Stuttgart als Open Source Experte erfolgreich etabliert. Mittelständische Unternehmen und öffentliche Einrichtungen vertrauen auf die langjährigen IT-Erfahrungen des Hauses in der Realisierung ihrer digitalen Arbeitsplätze.
Dabei liegt der Fokus von comundus auf Mitarbeiterportalen und Enterprise Portals. Diese werden für Kunden individuell zusammengestellt. Ergänzend beraten die Experten ihre Kunden auf dem Weg zum Mobile Business und realisieren die Anforderungen vom responsive Design bis zur native App. Internet Portale runden das Leistungsangebot ab.
Produkte wie Liferay Portal, OpenCms, die Enterprise Search Solr und die Web-Shop Plattform KonaKart aus dem Open Source Bereich werden dem Wandel des digitalen Arbeitsplatzes gerecht. Sie helfen unseren Kunden unabhängig von teurer proprietärer Software zu sein.
This presentation will show you how to use docker-compose in a practical example, discuss some alternative approaches and teach best practices (in german).
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNETWAYS
Prüfen des ESX 3.x-Hosts auf Auslastung der CPU, des Arbeitsspeichers, der physischen Netzwerkkarten, der virtuellen Switches und der virtuellen Storageadapter.
Plugins über die Webservicesschnitstelle:
- Alarm wenn Migration Recommendations anstehen
- Inkonstistenzcheck (Zombi-VMs aufspüren, Vergleich der Sichtweise von VCenter und den einzelnen ESX-Hosts. Alarm, wenn diese sich nicht einig sind)
Tipps & Tricks für den erfolgreichen Einsatz von GPU-ComputingJörn Dinkla
Folien des Vortrags auf der parallel 2014. Neben den Grundlagen der Architektur von Grafikkarten werden die Besonderheiten bei der Parallelisierung von GPU-Kerneln erklärt. Anhand des Werkzeugs "Guided Application Analysis" des Nvidia Visual Profiler werden Tipps und Tricks für die Optimierung gegeben und der theoretische Hintergrund erläutert. Es wird gezeigt, wie mit Streaming und dem Einsatz von mehreren GPUs (Multi-GPU) Systeme besser ausgelastet werden können. Der Referent stellt hierbei Klassen und Hilfsmittel vor, die er bei der Projektarbeit im Bereich GPU Computing in den letzten fünf Jahren erlernt hat.
MySQL Performance Tuning für Oracle-DBA'sFromDual GmbH
MySQL Performance Tuning
* Was ist Performance?
* Was kostet Performance?
* Tuning Massnahmen
* MySQL Konfiguration
* Wo schauen?
* Langsame Abfragen finden
* Optimiere das Query!
* Monitoring
Der Datenbank-Backup ist gemacht - was nun?FromDual GmbH
* Datenbank-Backup – welcher Zweck?
* Tauglichkeit des Backup, Verifikation
* Echtdaten vollständig nutzen
* Dem Datenschutz genügen
* Material für die Entwicklung
* Automatisierung
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationFromDual GmbH
Weltweite Produktionsdatenverwaltung mit MySQL
* Ausgangslage
* Probleme die sich stellen
* Wer darf welche Daten kriegen?
* Wie werden Daten verteilt?
* Produktionsdaten zurück?
* MySQL multi-Source Replikation
* Bertriebsverantwortung
* Hochverfügbarkeit
* Sensitive Daten
* Wer darf welche Daten sehen?
* MySQL Row Filterung
* Nachträgliche Forderungen
MySQL High Availability Solutions: MySQL Replication, MySQL Read-Scaleout, Master/Slave Replication, Master/Master Replication, active/passive fail-over Cluster with SAN or DRBD, Galera Cluster for MySQL, MySQL NDB Cluster
Tipps zur Performanceoptimierung für Liferay PortalStefan Hilpp
Mit Liferay einer Open Source Portallösung werden umfangreiche Enterprise- oder Mitarbeiterportale realisiert. Liferay eignet sich auch für mehrsprachige Internetportale mit geschlossenen Nutzerräumen.
In allen Fällen muss Liferay den Zugriff von mehreren hunderten gleichzeitigen Zugriffen ohne großen Performance Verlust verkraften.
Leicht gesagt und nicht so einfach zu realisieren. Wir sind an das Thema Liferay Performance systematisch heran gegangen. Heraus gekommen sind allgemeine und Liferay spezifischen Regeln, die das Ziel haben eine gute Performance bei hoher Last zu erreichen.
Liferay - ein modernes Portalsystem
Liferay Portal, ein Open Source Portalsystem, eignet sich in Ihrem Unternehmen als mitarbeiter- und prozessorientiertes Enterprise Portal. Es ist eine Portal-Software, die es Ihrem Unternehmen ermöglicht, Informationen, Daten und Anwendungen unter einer einheitlichen Bedienungsoberfläche im Webbrowser zu vereinen, zu personalisieren und dadurch die Geschäftsprozesse Ihres Unternehmens elektronisch zu unterstützen. Die lizenzkostenfreie Open Source Software beeindruckt durch ihre Vielzahl an Funktionen und ihre hervorragende Software-Architektur.
500 Kunden als weltweite Referenzen in verschiedensten Industriebereichen
Schnelle Innovationszyklen
Neue Releases im Abstand von jeweils 8 Monaten
Eine starke Community mit rund 3 Millionen Downloads
250.000 installierten Anwendungen weltweit
Liferay Portal ist das am häufigsten eingesetzte und ausgereifte Open Source Portalframework
Liferay Portal mit mehr als 150 Portlets ist nicht nur die breiteste, sondern auch funktional umfassendste Entwicklung im Open Source Portalumfeld
comundus hat sich seit ihrer Gründung 2001 in Waiblingen bei Stuttgart als Open Source Experte erfolgreich etabliert. Mittelständische Unternehmen und öffentliche Einrichtungen vertrauen auf die langjährigen IT-Erfahrungen des Hauses in der Realisierung ihrer digitalen Arbeitsplätze.
Dabei liegt der Fokus von comundus auf Mitarbeiterportalen und Enterprise Portals. Diese werden für Kunden individuell zusammengestellt. Ergänzend beraten die Experten ihre Kunden auf dem Weg zum Mobile Business und realisieren die Anforderungen vom responsive Design bis zur native App. Internet Portale runden das Leistungsangebot ab.
Produkte wie Liferay Portal, OpenCms, die Enterprise Search Solr und die Web-Shop Plattform KonaKart aus dem Open Source Bereich werden dem Wandel des digitalen Arbeitsplatzes gerecht. Sie helfen unseren Kunden unabhängig von teurer proprietärer Software zu sein.
This presentation will show you how to use docker-compose in a practical example, discuss some alternative approaches and teach best practices (in german).
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNETWAYS
Prüfen des ESX 3.x-Hosts auf Auslastung der CPU, des Arbeitsspeichers, der physischen Netzwerkkarten, der virtuellen Switches und der virtuellen Storageadapter.
Plugins über die Webservicesschnitstelle:
- Alarm wenn Migration Recommendations anstehen
- Inkonstistenzcheck (Zombi-VMs aufspüren, Vergleich der Sichtweise von VCenter und den einzelnen ESX-Hosts. Alarm, wenn diese sich nicht einig sind)
Tipps & Tricks für den erfolgreichen Einsatz von GPU-ComputingJörn Dinkla
Folien des Vortrags auf der parallel 2014. Neben den Grundlagen der Architektur von Grafikkarten werden die Besonderheiten bei der Parallelisierung von GPU-Kerneln erklärt. Anhand des Werkzeugs "Guided Application Analysis" des Nvidia Visual Profiler werden Tipps und Tricks für die Optimierung gegeben und der theoretische Hintergrund erläutert. Es wird gezeigt, wie mit Streaming und dem Einsatz von mehreren GPUs (Multi-GPU) Systeme besser ausgelastet werden können. Der Referent stellt hierbei Klassen und Hilfsmittel vor, die er bei der Projektarbeit im Bereich GPU Computing in den letzten fünf Jahren erlernt hat.
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungMongoDB
Im letzten Webinar unserer Back to Basics Reihe zeigte Ihnen Benjamin Lorenz, Senior Solutions Architect bei MongoDB, wie Sie dafür sorgen, dass Ihr MongoDB-System in einer Produktionsumgebung korrekt arbeitet.
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-adminsICS User Group
Gekürzter Vortrag der Connect 2014 Präsentation "BP307 Practical Solutions for Connections Administrators – Tips and Scripts for Your Daily Business" Tipps und Skripts rund um die Connections Installation, Konfiguration, Dokumentation und Troubleshooting. Wir zeigen Skripte die jedem Administrator das Leben erleichtern können.
Download der Skripts: http://github.com/stoeps13/ibmcnxscripting
Tipps und Skripts aus dem Leben eines Connections AdminsKlaus Bild
Gekürzter Vortrag der Connect 2014 Präsentation "BP307 Practical Solutions for Connections Administrators – Tips and Scripts for Your Daily Business" Tipps und Skripts rund um die Connections Installation, Konfiguration, Dokumentation und Troubleshooting. Wir zeigen Skripte die jedem Administrator das Leben erleichtern können. Download der Skripts: http://github.com/stoeps13/ibmcnxscripting
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
JAX 2017, Mainz: Vortrag von Josef Fuchshuber (@fuchshuber, Cheftechnologe bei QAware) und Tobias Placht (@knacht, Software Ingenieur bei QAware).
Abstract: Wie oft kannst du ein neues Feature releasen? Jede Woche? Jeden Tag? Jede Stunde? Continuous Delivery ist einer der wesentlichen Treiber, warum wir Cloud-native Anwendung bauen. Für Software-driven Organisationen ist das der Schlüssel für eine sicherere, stabilere Software bei minimiertem Risiko und kurzen Feedbackschleifen. Die Herausforderung dabei ist, aus jeder Codeänderung möglichst schnell eine lauffähige und gründlich getestete Software zu machen. Das ist für viele Firmen ein wesentlicher Wettbewerbsvorteil. Wir zeigen in diesem Vortrag eine Werkzeugkette, mit der Continuous Delivery nicht nur für Cloud-native Anwendungen, sondern auch auf Cloud-nativer Infrastruktur möglich ist. Ganz im Gedanken von „Everything is Code“ betrachten wir dabei nicht nur das Bauen und Testen von Software, sondern auch die Automatisierung der Infrastrukturbereitstellung, der Deployments und Roll-outs. Dabei treffen alte Bekannte (z.B. Jenkins, SonarQube) auf Cloud-Computing-Technologien wie z.B. Docker für Betriebssystemvirtualisierung und DC/OS für das Clustermanagement.
Where are all transactions gone? Was in_der_cloud_alles_verboten_istRamon Anger
Mein Vortrag auf der OOP 2015
Where all the transactions gone?
Was in der Cloud alles verboten ist.
Gegenstand des Vortrags sind neun Dinge, die in der Cloud im Gegensatz zu inhouse-Anwendungen grundlegend anders sind. Darüber hinaus geht der Vortrag kurz auf DevOps für die Cloud und Organisation für die Cloud ein.
Ursprünglich hat mein Kollege Marc Bauer den Vorschlag eingereicht, hatte dann aber leider keine Möglichkeit, den Vortrag selbst zu halten.
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
Sep 08, 2012
Continuous Delivery und Autoscaling von Enterprise Web-Applicationen in der Amazon Cloud
In diesem Vortrag zeigen wir am Beispiel des neuen Angrybird-Onlineshops, der zu Spitzenzeiten bis zu 10 Bestellungen pro Sekunde aufnehmen kann und dabei hochverfügbar ist, wie eine automatisch skalierende Cloud Infrastruktur sowie die nötigen Konzepte aussehen können.
Wir beschreiben die Herausforderungen und unsere Lösungen, um den Shop für ein Multi-Server-Setup vorzubereiten und zu betreiben. Spezielle Anforderungen an eine solche Architektur sowie die Integration von Reverse Proxies (Varnish), die Nutzung eines CDNs, verschiedene Cache-Strategien und weitere Optimierung sind ebenfalls Bestandteil dieses Vortrags. Außerdem stellen wir unsere automatisierte Cloud-Deployment-Strategien vor, angefangen von den Entwicklungsumgebungen, über den continuous Integration Server und unser Testing Framework bis hin zum A/B-Deployment in der Cloud.
4. Seite 4
Über mich
Ralf Ernst
Senior-IT-Architekt beim IT-Systemhaus der BA
Twitter: @ralfernst
5. Seite 5
Microservices und Container Management
▬ es existiert nicht nur Conways Law
▬ sondern leider auch Murphys Law
▬ verteilte Systeme sind tückisch
▬ aber es gibt Plattformen
6. Seite 6
Mesosphere DC/OS im BA-ITSYS
▬ DC/OS ist aktuell im BA-ITSYS die Produktionsplattform für
kritische Services für arbeitsagentur.de
PoC mit
Mesos und
Marathon
2/2016 9/2016 11/2016 4/2017 12/2017
Einführung
Mesosphere
DC/OS
Dev/Test
Cluster
bereit
Produktions
betrieb mit
10 Services
Produktions
betrieb mit
25-30
Services
20. Seite 20
Empfehlungen
▬ HA von Anfang an
• 3 Master, >2 Public Nodes, >5 Private Nodes pro Standort
• Nodes müssen unabhängig voneinander abschaltbar sein
• keine großen, lieber mehr kleine Server verwenden (horizontal skalieren)
▬ Automatisierung von Anfang an
• ein Cluster automatisch (wieder-)herstellen
• automatisiert Nodes aus dem Cluster entfernen und wieder hinzufügen
bzw.neue Nodes provisionieren und zum Cluster hinzufügen
▬ Logging, Monitoring von Anfang an
• Log-Aggregation und Auswertung (ELK, Graylog), Mesos Metrics
21. Seite 21
Lessons Learned
▬ regelmäßiges Testen der Recovery-Features
• produktionsidentischer Aufbau, mit den entsprechenden Applikationen
• real world Ausfälle und Wartungen unter Last
▬ Upgrades ohne Downtime
• keine Versionen überspringen, Backups anfertigen
▬ DC/OS unterstützt unterbrechungsfreien Betrieb
• Wartungen und Upgrades zu “normalen” Bürozeiten ohne Downtime
• Gotcha: Docker Demon nicht unter Kontrolle des Mesos Agents!
23. Seite 23
Routing
▬ Routing von Kommunikation in und aus dem Cluster
ausschließlich über Reverse Proxies auf den public agents
▬ DC/OS verwendet marathon-lb als Edge Loadbalancer
• Lastverhalten, Redundanz!
• bei Anwendungen mit hoher Last evtl. dedizierte Instanzen hinzufügen
▬ zusätzlich Proxies zur gesicherten Kommunikation aus dem
Cluster heraus erforderlich
• im BA-ITSYS: Docker-Container mit Squid-Proxy
24. Seite 24
Administration
▬ Routing von Administrationszugriffen über den DC/OS
Admin-Router in eigener Netzzone
▬ Bastion-Hosts als Proxies zum Admin-Router
• Redundanz, 2 Standorte
• DC/OS CLI, Http-Proxy zur UI
• Bootstrap-Node für Installation DC/OS
▬ Nutzung des IAM von DC/OS
• Rollen: superuser, SRE-Team, Entwickler (Namespace des Produkts)
26. Seite 26
Sicherheit im Cluster
▬ Achten auf
• Base-Images, Benutzerprivilegien, Sandbox-escapes
• Verschlüsselung interner Kommunikation
• DC/OS strict-mode verwenden
▬ Deployments ausschließlich über standardisierte CD-Pipeline
• Quality Gates (aktuelle Base-Images, Image-Scans)
• Validierung von Dockerfile und Marathon app-definition
• Template für Marathon app-definition um sinnvolle Defaults zu erzwingen
27. Seite 27
Standards
▬ Base Images
▬ CD-Pipeline
▬ bridged Netzwerk
▬ local-persistent-volumes
▬ Produktauswahl / Betrieb für Persistenz und Messaging nicht
durch Entwicklerteams
▬ Housekeeping (Images, laufende Container in Dev/Test)
28. Seite 28
Isolation
▬ Nutzung von constraints und Mesos-Host-Rollen für eine
sinnvolle Verteilung der Container
▬ Limitierung von Schaden durch Hardware-Ausfälle / Wartung
▬ Limitierung von Schaden, den Benutzer verursachen können
• gegenüber anderen Benutzern aber auch gegenüber Plattformdiensten
▬ Verhinderung kaskadierender Fehler
• asynchrone Kommunikation, Circuit-Breaker, Time-Outs, Replikation
29. Seite 29
Dimensionierung von Containern im Cluster
▬ BA-ITSYS: Nutzung von CPU-shares
• anfangs Probleme mit over-subscription, jetzt Default: 0,1 = fair-share
• CPU-share ist ein weiches Limit
▬ Problem Swapping
• Default cgroups: swap = 2 * memory
• zu wenig RAM → viele swappende Container → Swap-Space voll
• Abhilfe: Übergabe des docker-Parameters memory-swap = mem
▬ Lessons Learned: Container-RAM nicht zu klein dimensionieren
ggf. Swapping auf LINUX-Ebene ganz abschalten
31. Seite 31
die JVM ist -aktuell- nicht container-aware
▬ die JVM hat keinerlei Kenntnis von cgroups
• erste Anpassungen in JDK9 und JDK8-151 “experimental”
▬ Initialisierung der JVM erfolgt mit
• RAM: sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE);
• CPU: sysconf(_SC_NRPROCESSORS_ONLN);
▬ Anzahl verfügbarer Threads potentiell viel zu hoch
• z.B. ParallelGCThreads, Anzahl Threads für JIT, HotSpot Optimierungen
▬ Begrenzung von RAM-Verbrauch zwingend
• -Xmx, -Xms, -XX:MaxMetaspaceSize (ex PermGen, off-Heap)
32. Seite 32
Bei der Dimensionierung des Container-RAMs darf
nicht nur der Heap berücksichtigt werden
▬ einige Werte:
• JRE8: ca. 256M
• Code Cache für JIT JRE8: 96M
• Threads: 1M bei 64 Bit-Systemen
• NIO mit Direct Buffer (off heap)
• OS Tools: ca. 60MB bei RHEL
• I/O: Page Cache des Betriebssystems für I/O
▬ Java 8 Threading nutzt sog. malloc arenas:
• 64MB virtual memory pro Thread
• Folge: virtual memory steigt kontinuierlich
35. Seite 35
Lessons Learned - Container-Technologie
▬ Produktionsbetrieb mit LINUX-Containern auf DC/OS ist auch für
eine klassische Enterprise-IT Organisation machbar
▬ Empfehlungen:
• keine eigene komplette PaaS bauen
• Integration beachten
• frühzeitig Standards definieren
• Think big: Automatisierung, HA, Security und Monitoring realisieren
• Start small: mit wenig Containern früh in Produktion
36. Seite 36
Microservices und Container Management mit
Mesosphere DC/OS
ein erstes (Zwischen-)Fazit nach einem Jahr DC/OS:
▬ zuverlässig, keinerlei “on-call-events” in Produktion
▬ gute Akzeptanz in der Entwicklung
▬ Möglichkeit, moderne Technologien mit geringem Aufwand
einzusetzen, auszuprobieren und zu betreiben
▬ für das BA-ITSYS ist diese Technologie auch ein Einstieg in neue
Denkmuster wie DevOps, Resilienz, Continuous Delivery