Dieses Webinar finden Sie auch auf unserem Youtube Webinar Channel.
DB Masters Grundlagen Webinar Tuning von Standard Software
Sehr oft hört man: "Ich habe eine Standard Applikation im Einsatz, da muss man nichts tunen." oder "Wenn etwas zu tunen ist, muss das der Hersteller der Standard Applikation machen.", das ist aber nur bedingt richtig. In diesem Webinar gehen wir darauf ein, warum ein Hersteller von Standard Software nicht immer alles tunen kann und was man alles zu bedenken hat.
Was ist eine Standard Software?
Defintion bei Wikipedia (Stand Sommer 2020)
Als Standardsoftware werden Softwaresysteme verstanden, die einen klar definierten Anwendungsbereich abdecken und als vorgefertigte Produkte erworben werden können. Im Gegensatz dazu wird Individualsoftware gezielt für den Einsatz bei einem Kunden bzw. Unternehmen entwickelt. Gelegentlich wird noch zwischen Standardanwendungssoftware und Standardsystemsoftware unterschieden; im Bereich der Systemsoftware ist allerdings der Einsatz von Standardsoftware so üblich, dass dieser Begriff kaum verwendet und auf diese Unterscheidung meist verzichtet wird.
Durch Anpassungen wird aus der Standard Software eine Individualsoftware!
Viele Unternehmen setzen aber eben nicht nur eine Standard Software ein, sondern lassen sich Erweiterungen/Anpassungen dazu programmieren. zum Beispiel:
- Schnittstellen zu anderen Systemen.
- Anpassungen für bestimmte Funktionalitäten, die im Standard so nicht vorgesehen sind.
- Erweiterungen um Funktionen, die die Standard Software nicht vorsieht.
Damit wird bei vielen Unternehmen aus der Standard Software zumindest teilweise zu einer Individualsoftware.
Nutzung von Standard Software
Aber selbst, wenn Sie keinerlei Anpassungen durchführen haben lassen, verwenden Sie vermutlich nicht den kompletten Funktionsumfang der Software. Einige (viele) Teile werden nicht oder nur sehr wenig genutzt, andere Teile dafür um so mehr.
Befragen Sie mehrere Firmen, die die gleiche Standard Software nutzen, welche Datenmengen Sie in welchem Bereich haben, hier einige Beispiele:
- Unternehmen A hat knapp 300 Kunden, 20 Produkte und 300 Belege/Jahr – dafür aber über 5000 Buchungszeilen (Beispielweise CRM bei DB Masters, 2019)
- Unternehmen B hat 10 Kunden, 10.000 Produkte und 5.000 Belege/Jahr
- Unternehmen C hat 10.000 Kunden, 200 Produkte und 250.000 Belege/Jahr
Wie soll der Standard Software Hersteller jetzt tunen?
Für welche Datenmenge soll der Softwarehersteller jetzt optimieren? Für eines der drei Unternehmen, oder für eine ganz andere Anzahl von Datensätzen pro Kategorie? Es gibt nicht das „optimale“ Tuning für beliebige Datenmengen! Spätestens bei den Individualerweiterungen gibt es keine „Erfahrungen mit anderen Kunden“, um ein Tuning schon im Vorfeld durchzuführen.
Unabhängig von der Software, ist auch die Server Hardware bei jedem Kunden anders: Von kleinen Servern mit wenig Hauptspeicher und einer HDD bis hin zu riesigen Servern mit gigantischen Hauptspeichern und NVMe Storages! Für einen 4 Core Server mit 8GB Hauptspeicher und einer HDD muss man ganz anders tunen wie für einen Server mit 256 Cores, 1TB Memory und NVMe Storage!
KIWI ... Kill It With Iron
In den 1980ern und 1990ern hat das noch sehr gut funktioniert, weil die Hardware – speziell die CPUs Performance und der Hauptspeicher – jedes Jahr verdoppelt wurden. Seit den Anfang der 2000er bekommt man zwar immer mehr Cores und Hauptspeicher, aber was nützen einem CPUs mit 64 Cores bei 10 Benutzern?
Datenbank Performance Tuning
Analysiert die Performance Aspekte der Datenbank in Bezug auf die Hardware
- Wie ist die CPU Auslastung, kann man hier etwas optimieren?
- Wird der verfügbare Hauptspeicher sinnvoll genutzt, bzw. wie viel Hauptspeicher würde die Datenbank wirklich benötigen?
- Gibt es Probleme mit der Storage (Harddisk) Performance?
Applikations-Performance Tuning
Hierzu gehöre unter anderem:
- Suboptimale SQL Statements für die Datenmengen, die man generiert/nutzt. Sammeln und Bereitstellen der Statements, die sich der Software Hersteller ansehen sollen und auf Wunsch auch gleich mit Tuning-Empfehlungen versehen.
- Indexes – oft im Zusammenhang mit den Anpassungen der Software. Einerseits analysieren, welche Indexes den Statements fehlen und diese anlegen. Optional: nicht benötigte Indexes identifizieren und löschen.
- Probleme im Applikationsdesign - Trifft man leider immer wieder, weil Applikationen über viele Jahre/Jahrzehnte erweitert und weiterentwickelt werden. Selbst wenn das initiale Applikationsdesign perfekt war, muss dies 20 Jahre und duzende Erweiterungen später nicht mehr so sein.
Aktuelles Beispiel eines Energieunternehmens in Deutschland
Wir konnten durch Optimierung die Systemlast von einem zwei Knoten RAC mit jeweils 16 Cores auf eine Single Instance mit einem CPU Bedarf von 3 bis 6 Cores reduzieren. Details hören Sie im Webinar!
Was können wir von DB Masters für Sie machen?
Datenbank- und Applikationstuning gehören zu den häufigsten Aufgaben, die wir durchführen. Egal welche Software Sie auf Oracle Datenbanken nutzen, wir können Sie dabei unterstützen!
Wie lange dauert ein solcher Tuningeinsatz?
Das hängt immer von der Komplexität des Environments, der Applikation und des gewünschten/benötigten Umfangs ab. In den meisten Fällen dauern Erstanalysen und Umsetzung 1-2 Tage. Im Zuge der Optimierungen wir die Performance meist deutlich besser.
Interesse an diesem Webinar geweckt?
Dann schauen Sie es sich doch direkt auf unserem Youtube Channel an: DB Masters Grundlagen Webinar Tuning von Standard Software.
Vergessen Sie nicht unseren Youtube Channel zu abonnieren, damit Sie keines unserer Videos verpassen!