Ermitteln Engpässe
Performanceanalyse mit dem ABAP-Trace (Laufzeitanalyse)
Eine Performanceanalyse mit dem Debugger nehmen Sie wie folgt vor: Starten Sie das zu untersuchende Programm in einem zweiten Modus in der Workprozess-Übersicht (Transaktion SM50). Aus der WorkprozessÜbersicht gelangen Sie mit der Funktion Debugging in den Debugger. Indem Sie mehrfach hintereinander in den Debugger springen, können Sie die Coding-Stellen im Programm mit hohem CPU-Bedarf identifizieren. Oft sind dies LOOP ... ENDLOOP-Schleifen über große interne Tabellen. Den aktuellen Hauptspeicherbedarf erhalten Sie (im »klassischen« Debugger) mit der Funktion Springen > Weitere Bilder > Speicherverbrauch. Prüfen Sie, ob ein Programmfehler oder eine Fehlbedienung des Programms vorliegt, sodass übermäßig viel Speicher angefordert wird. Als Richtwert mag Ihnen dienen, dass ein Programm, das im Dialogbetrieb von mehreren Benutzern ausgeführt wird, nicht mehr als 100MB allokieren sollte. Zur Erstellung einer Liste der im Speicher gehaltenen Objekte des Programms navigieren Sie im »klassischen« Debugger ab SAP NetWeaver AS ABAP 6.20 mit Springen > Zustandsanzeigen > Speicherverbrauch. Auf der Registerkarte Speicherverbrauch > Ranglisten finden Sie eine Liste von Objekten und deren Speicherverbrauch. In den Versionen AS ABAP 4.6 und 6.10 gelangen Sie zu einer Speicherverbrauchsliste über den Pfad Springen > System > Systembereiche. Geben Sie im Feld Bereich »ITAB-TOP25« ein. Sie erhalten so eine Liste der 25 größten internen Tabellen. Im »neuen« Debugger blenden Sie zunächst das Speicheranalyse-Werkzeug ein, indem Sie auf die Schaltfläche für ein neues Werkzeug klicken und dann unter den angebotenen Werkzeugen im Ordner Speicherverwaltung die Speicheranalyse auswählen. Auf dem Eingangsbildschirm wird daraufhin angezeigt, wie viel Speicher vom analysierten internen Modus allokiert bzw. verwendet wird. Auf der Registerkarte Speicherobjekte finden Sie eine Liste der größten Speicherobjekte – das können interne Tabellen, Objekte, anonyme Datenobjekte oder Strings sein.
Bestenfalls wird für die Zeit, in welcher ein Notfallbenutzer im Einsatz ist, ein gesondertes Protokoll über die getätigten Aktivitäten geschrieben, welches anschließend ausgewertet werden kann. In dem nachfolgenden Kapitel möchte ich Ihnen gerne unsere Best-Practice Herangehensweise zur Umsetzung eines Notfallbenutzerkonzepts erklären. Unsere Herangehensweise zur Verwendung von einem Notfallbenutzerkonzept Wir haben gute Erfahrungen mit dem Einsatz der Xiting Authorizations Management Suite (XAMS) in diesem Bereich gemacht. Diese Suite besteht aus verschiedenen Modulen zur Erstellung von Rollenkonzepten, Verwalten von Berechtigungen inklusive eines Berechtigungskonzepts und ermöglicht zudem die Umsetzung von einem Notfallbenutzerkonzept. Die XAMS arbeitet hier mit einer zeitlich limitierten Zuweisung von Referenzbenutzern mit erweiterten Rechten um das Notfallbenutzerkonzept zu ermöglichen. Hierbei kann ein Self-Service Antrag mit einer Begründung und einer Zeitdauer für die Zuteilung von Sonderrechten erfolgen. Das Antragsfenster ist beispielhaft im folgenden Screenshot dargestellt: Auswertung der Nutzung des Notfallbenutzerkonzepts Sobald dieser Antrag angestoßen wurde, wird für den User ein neuer Modus geöffnet, in welchem er mit den erweiterten Rechten arbeiten kann. Zusätzlich, kann je nach Konfiguration ein hinterlegter Workflow als Genehmigungsprozess angestoßen werden, oder es werden vorher definierte Verantwortliche zur Überprüfung der Aktivitäten per Email benachrichtigt. Sobald die Session mit dem Notfallbenutzer beendet wurde, erhalten die Verantwortlichen eine weitere Email mit den protokollierten Aktivitäten des Users mit den erweiterten Berechtigungen. Eines dieser Protokolle ist im nächsten Screenshot zu sehen: Diese Protokolle können auch im System angeschaut werden. Hier bekommen Sie nach einer Selektion der User einen Überblick über alle gelaufenen Sessions. Es gibt zusätzlich die Möglichkeit getätigte Aktivitäten mit Sonderrechten nach einer entsprechenden Auswertung zu genehmigen. Hierdurch kann sich der Verantwortliche einen Überblick über die getätigten Aktivitäten mit dem Notfallbenutzer verschaffen. Wenn Sie dieses Notfallbenutzerkonzept verwenden und die genannten Schritte befolgen können Sie folgende Punkte sicherstellen: Jeder User auf dem Produktivsystem behält seine ursprünglich notwendigen Rechte.
SU21 Pflege von Berechtigungsobjekte
Es gibt folgende Gründe, die zum Abbruch dieses Schrittes führen können: CANNOT_GET_OBJECT_LIST: Die Objektliste eines Support Package konnte nicht ermittelt werden, weil das Support Package nicht existiert. CANNOT_GET_LAST_UPGRADE_INFO: Die Informationen über den letzten Repository Switch Upgrade konnten nicht ermittelt werden. UNRESOLVED_ADDON_CONFLICTS: Konflikte mit Add-Ons konnten nicht aufgelöst werden, weil die entsprechenden CRTs aus der Queue fehlen. SPDD_SPAU_CHECK In diesem Schritt wird überprüft, ob ein Modifikationsabgleich (Transaktionen SPDD/SPAU) notwendig ist. DDIC_IMPORT In diesem Schritt wird das ABAP Dictionary importiert.
Einmal hat man das Geld Person A gesendet und einmal Person B. Welcher Miner hat nun Recht? Die Lösung dazu ist, dass man den Konsensus in Zeitblöcke unterteilt, in welcher jeweils per Zufall ein Miner ausgewählt wird, der dann bestimmen kann, welche Transaktion er während dieses Blocks als Konsensus ausgewählt hat. Die Transaktionen werden in Blöcken der Kette gespeichert. In jeden Block passen nur eine begrenzte Anzahl an Transaktionen. Der Miner, der die letzte Transaktion eines Blocks löst, bevor ein neuer generiert wird, bekommt als Belohnung zusätzlich noch einen Bitcoin.
Einige fehlende Funktionen in der Basisadministration werden durch "Shortcut for SAP Systems" ergänzt.
Hier wird sichergestellt, dass die von der SAP-Applikationsplattform getragenen SAP-Anwendungslösungen stets betriebsfähig sind.
Auf der schnellsten Zeitskala laufen Anfragen im lokalen Hauptspeicher innerhalb des Datenbank- oder Applikationsserver-Kernels – z. B. bei Suchvorgängen in Tabellen oder Sortierungen.