Capacity planning for Exchange

As I am preparing now for MCSE in Exchange 2013 and reviewing book for 70-341 exam [Core Solutions of Microsoft Exchange Server 2013 (MCSE)].

Just going through chapter about capacity planning and found some useful links in relation to that, thought worth sharing:

How to Calculate Your Disk I/O Requirements (Exchange 2003)

https://technet.microsoft.com/en-us/library/bb125019%28v=exchg.65%29.aspx

Exchange 2013 Server Role Requirements Calculator v7.6

https://gallery.technet.microsoft.com/office/Exchange-2013-Server-Role-f8a61780

Disk Performance Testing with JetStress 2013

http://www.msexchange.org/articles-tutorials/exchange-server-2013/planning-architecture/disk-performance-testing-jetstress-2013.html

Exchange 2010 Sizing Cheat Sheet

http://www.msexchange.org/articles-tutorials/exchange-server-2010/management-administration/exchange-2010-sizing-cheat-sheet.html

Exchange 2013 Mailbox Role Counters (Advanced)

https://thwack.solarwinds.com/docs/DOC-171452

Ask the Perf Guy: Sizing Exchange 2013 Deployments

http://blogs.technet.com/b/exchange/archive/2013/05/06/ask-the-perf-guy-sizing-exchange-2013-deployments.aspx

Virtualization of Exchange 2013

https://technet.microsoft.com/en-us/library/jj619301

Advertisements

Powershell / Exchange 2007 – sum in MB of all mailboxes, deleted elements, .edb file and white spaces for a storage group

Some time ago, I had a need to determine some of storage groups parameters from Exchange 2007, that need become more frequent than I thought, and here is that script.

The script wll return those values like in 3th line of it, so there will be: Storage group name, sum of all mailboxes (in megabytes), sum of all deleted items (in megabytes), size of the *.edb database file, and the amount of white space in each storage group.

$data = Get-Date –f "yyyy-MM-dd";
$MailboxServer = "Here enter the name of your mailbox server"
out-file -filepath StorageGroupsReport_$data.txt -append -inputobject "Storage GRoup Name ($elem);Sum for all mailboxes (MB) ($suma);Sum of all deleted elements (MB) ($sumdel);Database file size (MB) ($sumadb);Sum of White Space (MB) ($SG_WS)"

foreach ($elem in Get-MailboxDatabase){
	$elem
	$SG_MB = (Get-Mailbox -ResultSize Unlimited -Database "$elem" |  get-mailboxstatistics  | measure-object totalitemsize -sum)
	$suma = "{0:N2}" -f ($SG_MB.sum / 1MB)

	$SGdel_MB = (Get-Mailbox -ResultSize Unlimited -Database "$elem" |  get-mailboxstatistics  | measure-object totaldeleteditemsize -sum)
	$sumadel = "{0:N2}" -f ($SGdel_MB.sum / 1MB)

	$SGDB_MB = (Get-MailboxDatabase "$elem" | foreach-object {add-member -inputobject $_ -membertype noteproperty -name mailboxdbsizeinGB -value ([math]::Round(([int64](get-wmiobject cim_datafile -computername $_.server -filter ('name=''' + $_.edbfilepath.pathname.replace("\","\\") + '''')).filesize / 1mb),2)) -passthru}  | measure-object mailboxdbsizeinGB -sum)
	$sumadb = "{0:N2}" -f ($SGDB_MB.sum)

	$dt = $elem.name
	$s = (get-eventlog Application -ComputerName $MailboxServer -instanceID 1074136261 -Message "*$dt*" -newest 1 | select -expand message )
	$d = ($s.IndexOf(" megabytes") - $s.IndexOf("`has "))
	$SG_WS = ($s.Substring($s.IndexOf("has "),$d).trim("has "))
	$SG_WS
	out-file -filepath StorageGroupsReport_$data.txt -append -inputobject "$elem;$suma;$sumadel;$sumadb;$SG_WS"
}