IRES GMBH ASPCACHE TESTIMONIAL
English:
We use ASPCache for easyRes, an internet flight reservation system. To improve
our server performance, data like airport, airline information, and system
languages (locale) are stored within ASPCache objects.
All the information is stored in the ASPCache object upon user request. For
expample, if a visitor wants to fly from Munich to Miami the system checks if
the requested airport informations are already in the cache. If not, this
information is read from the database placed in an ASPCache object. On the next
request for the same airport the data can will be provided by the cache.
In earlier versions of our software we used a freeware dictionary object
(CAPRock-Dictionary). This object also is thread-safe, but ASPCache has two
considerable advantages:
-
The ASPCache Object is approximately 400 to 500 times faster than the
CAPRock-Dictionary. This fact has been verified in a loop with 10,000
iterations and includes both reading and writing data.
-
The quantity of items in the ASPCache object can be limited to a certain
maximum number. Thus we can make sure that the memory used by cached data does
not overflow the available system memory.
Stefan Eiselt
Internet Product Manager
IRes GmbH
Munich, Germany
How we use ASPCache in our “global.asa”:
<OBJECT RUNAT=Server SCOPE=Application PROGID=ASPCache ID=GlobalData></OBJECT>
...
Sub Application_OnStart
...
Application.Lock
Application.StaticObjects("GlobalData").Add "Airlines",
CreateObject("ASPCache")
Application.StaticObjects("GlobalData")("Airlines").MaxSize = 400
Application.StaticObjects("GlobalData").Add "Aircrafts",
CreateObject("ASPCache")
Application.StaticObjects("GlobalData")("Aircrafts").MaxSize = 100
Application.StaticObjects("GlobalData").Add "Airports",
CreateObject("ASPCache")
Application.StaticObjects("GlobalData")("Airports").MaxSize = 800
Application.Unlock
...
End Sub
German:
Wir verwenden die Software ASPCache für unser Internet Flugreservierungssystem „easyRes“.
In Objekten der Klasse „ASPCache“ werden unterschiedliche Daten, wie z.B. Flughafen- und
Airlineinformationen, alle Daten für wählbare Sprachen (Locale) und die Reisebüroinformationen
Server-global in dem „Application“-Objekt des Internet Information Servers gespeichert. Alle
Informationen werden jedoch nur bei Bedarf (Abruf durch die Webseite) in das „ASPCache“-Objekt eingefügt.
Dies bedeutet z.B. für die Informationen zu einem Flughafen, dass die Daten beim ersten Abruf
aus der Datenbank geladen und in den Cache eingefügt werden. Beim zweiten und den folgenden
Zugriffen auf die gleichen Informationen, werden diese aus dem Cache bereitgestellt. Früheren
Versionen unserer Software haben für diese Aufgabe das Dictionary-Objekt eines anderen
Herstellers (Freeware) verwendet. Zwar war dieses Objekt ebenfalls „Thread-safe“, hatte
gegenüber „ASPCache“ jedoch entscheidende Nachteile:
-
Das „ASPCache“-Objekt der Firma WebGecko™ Software um ein vielfaches schneller
als das verwendete Dictionary-Objekt. Dies wurde in einer Schleife mit 10.000
Iterationen verifiziert und betrifft sowohl Lese- als auch Schreiboperationen.
-
Die Datenmenge im „ASPCache“-Objekt kann auf eine bestimmte Anzahl an
Elementen beschränkt werden. Somit wird verhindert, dass der Internet Information
Server mehr Systemspeicher anfordert, bzw. belegt, als dies auf Grund des Speicherausbaus sinnvoll ist.
Stefan Eiselt
IRes GmbH
München, Deutschland