Presentation is loading. Please wait.

Presentation is loading. Please wait.

.NET Performance Solutions

Similar presentations


Presentation on theme: ".NET Performance Solutions"— Presentation transcript:

1 Iqbal Khan iqbal@alachisoft.com Ph: +1 (925) 236-2125
.NET Performance Solutions NCache Fast & Scalable .NET Apps in Server Farms Distributed .NET Data Cache Distributed ASP.NET Sessions Iqbal Khan Ph: +1 (925)

2 Alachisoft Company History
Founded in California in 1996 Experts in enterprise applications in Java, C++, and .NET Became Alachisoft in 2003 (product company) Impressive growth from profitable and revenue-funded model Headquarters: San Francisco Bay Area 2410 Camino Ramon, Suite 175, San Ramon, CA 94583 NCache launched in July 2005 Current version: 3.8 (8th version) NCache 3.8

3 Supporting Our Customers
Annual Maintenance & Support Free upgrades for 1 year & telephone based support 24x7 Support Professional Services Cache Integration: into your existing apps Caching API Training: for your developers Cache Configuration Training: for your IT staff NCache 3.8

4 Main Benefits of NCache
Higher Application Performance & Scalability Performance: Extremely fast in-memory cache Scalability: Reduce pressure on database Linearly scale out cache cluster Reliable & Scalable ASP.NET Session Storage Session replicated for reliability Fast & scalable session storage Runtime Data Sharing for Server Apps Asynchronous data sharing in producer/consumer model Powerful event notification for app coordination NCache 3.8

5 Main Uses of NCache Enterprise Distributed Data Cache
Performance & Scalability: Reduce expensive db trips Reliability: Dynamic clustering & replication ASP.NET apps, web services, distributed apps, grid computing apps Distributed ASP.NET Sessions for Web Farms Faster and more scalable session storage Reliability: 100% uptime. Sessions replicated. Easy adoption: No code change required to use NCache 3.8

6 Enterprise Distributed Data Cache
NCache 3.8

7 High Availability (100% Uptime) Dynamic Cache Cluster
TCP based Cache Cluster Does not use Windows Clustering Peer to peer architecture No single point of failure Add/remove servers at runtime Without stopping cache or your app Data adjusted automatically based on caching topology Hot Apply config changes Change config properties while cache is running NCache 3.8

8 High Availability (100% Uptime) Dynamic Configuration
Connection failover Auto-connect to other servers Cluster membership info Propagate to clients at runtime Cache topology info Connection strategy at runtime NCache 3.8

9 Caching Topologies Mirrored Cache (2-node active/passive)
All clients connect to active node Passive node becomes active if active node goes down. Clients also automatically connect to it Mirroring to passive node done asynchronously Recommended use: Up to 10 app servers 2 cache server cluster NCache 3.8

10 Caching Topologies Replicated Cache
Entire cache copied to all servers Each update done to all servers Clients connect evenly to all servers. All servers active. Good for read-intensive scenarios NCache 3.8

11 Caching Topologies Partitioned Cache
Extremely scalable Location transparency Good for larger clusters Distribution map sent to all clients No replication available NCache 3.8

12 Caching Topologies Partitioned-Replica Cache
Each partition has one replica Async & Sync replication Location transparency. Extremely scalable Reliability due to replication NCache 3.8

13 Caching Topologies Client Cache
Clustered cache on separate tier Client has local client cache Client cache InProc or OutProc Client cache automatically synchronized with clustered cache Gives further boost to client apps Good for read-intensive apps NCache 3.8

14 Caching Topologies Performance Data (2-node cluster)
Mirrored Cache 30,000 reads/sec 25,000 writes/sec Replicated Cache 60,000 reads/sec 2500 writes/sec Partition-Replica Cache 44,000 writes/sec NCache 3.8

15 Caching Topologies Bridge Topology (for WAN replication)
NCache 3.8

16 Poweful Cache Administration
NCache 3.8

17 Powerful Cache Monitoring
NCache 3.8

18 Important Features Max cache size Eviction policies
To control memory consumption. Evicts item when cache reaches Max Size Eviction policies LRU, LFU, Priority, and “Do Not Evict” Cache security (authenticate + authorize) Authenticate with Active Directory. Authorize as “Admin” or “User” Compression Specify compression threshold. Uses GZip on client-side. Server Configuration Options Rejoin a cache cluster upon reboot Multiple NIC support (one for client/server & one for cluster) NCache 3.8

19 NCache ASP.NET 2.0 Session State Provider

20 Object Caching API is Simple
Initialize & Dispose the Cache Cache cache = NCache.InitializeCache(“myReplicatedCache”); cache.Dispose(); Read from the Cache object obj = cache.Get(“myKey”); object obj = cache[“myKey”]; bool isPresent = cache.Contains(“myKey”); Add to the Cache cache.Add(“myKey”, obj); cache.Insert(“myKey”, obj); cache[“myKey”] = obj; Remove from the Cache object obj = cache.Remove(“myKey”); Clear cache.Clear(); NCache 3.8

21 Important Object Caching Features
Expirations Absolute-time + idle-time Auto-reload data on expiration (if read-thru enabled) Cache dependencies Key, file, and custom dependencies Synchronize cache with database .NET event notifications (SqlDependency) for SQL Server 2005 & Oracle 10g R2 Polling based for all OLEDB compliant databases Read-through and write-through You implement read-thru and write-thru handlers called by NCache Write has write-behind option that queues up database updates NCache 3.8

22 Important Object Caching Features
Event notifications (cluster wide) Register interest in specific cached items to be notified at insert/remove Register interest to be notified at ALL add/insert/remove (off by default) Send custom notifications to other NCache clients (cluster wide) Tagging & Searching Cache Object Query Language for searching on object attributes Tagging for arbitrary grouping and searching of cached objects Pessimistic & Optimistic Locking Lock/Unlock for pessimistic locking (writer-lock) Object versioning for optimistic locking (reader-lock) Bulk operations Get, Add, Insert, Remove NCache 3.8

23 Important Object Caching Features
Compact serialization Mix with regular .NET serialization. Faster and more compact. Caching Application Block (CAB) integration NCache implements a cache manager for CAB No code change required to integrate (only config file changes) NHibernate integration Cache provider for NHibernate implemented Java client No Java-to-.NET interoperability used. Native NCache socket protocol. Event notifications available Object Query Language available NCache 3.8


Download ppt ".NET Performance Solutions"

Similar presentations


Ads by Google