Exchange 2007/2010’un yüksek memory kullanımının nedeni performansı arttırmak için database cache olarak kullanmasıdır. Ne kadar çok memory kullanabilirse disk I/O değerleri düşük olur ve performans artar.
Transaction loglar belirli bir limite ulaştığında memory’de tutulan değişiklikler database’e yazılır bu değere Log Checkpoint Depth Target adı verilir. Exchange 2007/2010’da tek database için bu değer 20 MB, 2010 DAG da iki veya daha fazla kopyası bulunan aktif databaseler için 100 MB ve pasif kopyalar için 5 MB’dır.
Microsoft tarafından Mailbox serverlar için varsayılan database cache miktarları Technet’te belirtilmiş durumda. Aşağıdaki tabloda sadece mailbox rolüne sahip ve birden fazla rol’e sahip mailbox sunucularında fiziksel memorynin ne kadarını Database cache için ayırdığını görebilirsiniz.
Server physical memory (RAM) | Database cache size: (Mailbox role only) | Database cache size: Multiple-role (for example, Mailbox + Hub Transport) |
2GB | 512 MB | Not supported |
4GB | 1 GB | Not supported |
8GB | 3.6 GB | 2 GB |
16GB | 10.4 GB | 8 GB |
24GB | 17.6 GB | 14 GB |
32GB | 24.4 GB | 20 GB |
48GB | 39.2 GB | 32 GB |
64GB | 53.6 GB | 44 GB |
96GB | 82.4 GB | 68 GB |
128GB | 111.2 GB | 92 GB |
Bu tablodaki değerlerin yanında mailbox sunucunuzda memory miktarını belirlerken kullanıcı profilinizi de göz önünde bulundurmanız önemli. Microsoft bu değeri hesaplamak için 75kb’lık mail boyutu ile kullanıcının ortalama günlük trafiğini göz önünde bulundurarak gereken Database Cache miktarını aşağıdaki tabloda sunuyor.
Messages sent/received per mailbox per day (~75KB average message size) | Database cache per user (MB) | Single database copy (Stand-alone): Estimated IOPS per mailbox | Multiple database copies (mailbox resiliency): Estimated IOPS per mailbox |
50 | 3 | .060 | .050 |
100 | 6 | .120 | .100 |
150 | 9 | .180 | .150 |
200 | 12 | .240 | .200 |
250 | 15 | .300 | .250 |
300 | 18 | .360 | .300 |
350 | 21 | .420 | .350 |
400 | 24 | .480 | .400 |
450 | 27 | .540 | .450 |
500 | 30 | .600 | .500 |
Peki bu değerleri nasıl kullanıyoruz? Örneğin 1000 kullanıcı için her kullanıcının günlük ortalama 200 mail gönderip aldığını düşünürsek.
1000*12MB = 12 GB (12MB değeri 200 mail için kullanıcı başına belirtilen database cache miktarı)
12GB database cache’e en yakın varsayılan bir üst değer 17.6GB olduğundan 24 GB fiziksel memory yeterli olacaktır.
Bu hesaba rağmen sizin sunucunuzun fiziksel memory miktarı daha yüksek ise ve bu memory’i değerlendirmek istiyorsanız o zaman database cache miktarını değiştirerek limitlemeniz mümkün.
Bunun için;
- ADSIEDIT.msc’i açın
- Configuration > Services > Microsoft Exchange > Organizasyon ismi > Administrative Groups > Administrative Group ismi > Servers > Sunucunuzun ismi > InformationStore
- InformationStore üzerinde sağ tuşa basın ve msExchESEParamCacheSizeMax değerini değiştirin. (Exchange 2007’nin 8KB, Exchange 2010’un 32KB bloklar kullandığını unutmayın)
- Microsoft Exchange Information Store servisini restart edin.
Örneğin 10 GB olarak ayarlamak istiyorsanız Exchange 2010 için bu değer 327680 (10485760 KB / 32 KB), Exchange 2007 için ise 1310720 (10485760 KB/ 8 KB) olarak ayarlayabilirsiniz.
Önemli: Önerilen değerlerin altında ayarlar yapmanız Exchange’in çalışmasında ciddi performans sorunlarına neden olabilir.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar