A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  Sonderzeichen  sybase-tech-blog


Kategorie: ASE: Performance und Tuning: Caches und Buffer Pools

Unpin, unpinning

Unpin ist ein Begriff aus dem Performance Monitoring in ASE. Der Begriff findet sich häufig in der Ausgabe der Stored Procedure sp_sysmon und beschreibt das Entfernen von Pages aus User Log Caches. Unpinning von Datenpages geschieht dann, wenn zwei Transaktionen versuchen die selbe Datenpage zu verändern. In dem Fall wird die spätere der beiden Transaktionen die Page, die bereits im ULC der ersten gecacht ist entfernen, um sie in ihren eigenen Cache zu schreiben. Dabei wird der gesamte ULC geleert (flushed).

Beispiel für Unpinning

Eine Transaktion verändert eine bestimmte Zeile einer Tabelle. Dazu verankert (pin) ASE die Page, auf der diese Zeile gespeichert ist, im ULC des ausführenden Prozesses. Versucht nun eine weitere Transaktion eine andere Tabellenzeile auf der selben Page zu verändern, stellt sie fest, daß diese Page bereits im ULC der ersten Transaktion verankert ist und muss die Page aus dem ULC entfernen, um sie verändern zu können. Dazu wird der ULC der ersten Transaktion geleert (flushed).

Um unpinning zu vermeiden, gibt es zwei Verfahrensweisen. Zum einen eine Anpassung der Applikationslogik, damit immer unterschiedliche Pages modifiziert werden, oder eine Verteilung der Daten auf verschiedene Datenpages mit Hilfe der Stored Procedure sp_chgattribute und der Option max_rows_per_page.