You are on page 1of 34

Kaseya Performance And Best Practices Guide

Authors: Date:

Jacques Eagle Thursday, April 29, 2010

1|P ag e

Contents
Introduction............................................................................................................................................5 B.0TheBasics........................................................................................................................................6 B.1HotFixes .....................................................................................................................................6 . B.264bitversus32bitOSandSQLServer...........................................................................................6 B.3SystemRequirements..................................................................................................................6 B.4Browsersandworkstationsmakeadifference.............................................................................7 B.5Please,distributeyourscripts!....................................................................................................7 B.6Myscriptsaredistributedbutwhyaretheyallrunninginthemorning!......................................8 B.7TheStatisticsHiddenLink............................................................................................................9 M.0Memory.........................................................................................................................................10 Howtomonitormemory...................................................................................................................10 M.1Processes...................................................................................................................................10 M.264BitOperatingSystem.............................................................................................................11 M.332Bit/3GBintheboot.ini..........................................................................................................11 M.4MemoryBestPractices...............................................................................................................11 C.0CPU...............................................................................................................................................12 C.1MicrosoftReportingServices.................................................................................................12 C.2KaseyaMessageSys ................................................................................................................12 . C.3w3wp....................................................................................................................................13 C.4KaseyaAddons......................................................................................................................13 C.5Largernumberoffilesonserversandworkstations...............................................................13 C.6LogArchiveduration..............................................................................................................13 C.7IISCompression.....................................................................................................................13 C.8DEP.......................................................................................................................................14 N.0Network........................................................................................................................................15 N.1IISCompression........................................................................................................................15 N.2PlanNetworkUtilization...........................................................................................................16 N.3NetworkUtilizationforServiceDesk.........................................................................................17 IO.0DiskPerformance(IO).................................................................................................................18 IO.1KaseyaIOHotSpots ................................................................................................................18 . WindowsPaging............................................................................................................................18 2|P ag e

\Kaseya.......................................................................................................................................... 18 SQL Server TempDB ....................................................................................................................... 18 SQL Server Database and Logs ....................................................................................................... 18 IO.2 Monitor your IO....................................................................................................................... 19 Avg. Disk Queue Length ................................................................................................................. 19 Avg. Disk Sec/Read and Avg. Disk Sec/Write .................................................................................. 19 V.0 Virtualization with ESX................................................................................................................... 20 How to monitor resources under VMWare ESX .................................................................................. 20 V.1VMWare ESX Memory Configuration ........................................................................................... 21 V.2VMWare ESX CPU Configuration Reservations ............................................................................. 22 V.3VMWare ESX CPU Configuration Limit ......................................................................................... 25 V.4VMWare ESX VMWare tools up to date? ..................................................................................... 25 F.0 Federation of Servers ..................................................................................................................... 26 F.1 Single versus Dual Servers ......................................................................................................... 26 F.2 Reporting Database Servers................................................................................................... 26 A.0 AddOn Performance Tips.............................................................................................................. 27 A.1 Service Desk .............................................................................................................................. 27 Performance and Best Practices Check List ............................................................................................ 28 B The Basics...................................................................................................................................... 28 MPerformance Checklist for Memory ............................................................................................... 28 CPerformance Checklist for CPU ....................................................................................................... 28 NNetworking .................................................................................................................................... 29 IODisk Performance (IO) ................................................................................................................... 29 VPerformance Checklist for Virtualization with ESX .......................................................................... 29 FFederation of Servers...................................................................................................................... 30 AAddOn Performance Tips .............................................................................................................. 30 Appendix A Monitor Sets .................................................................................................................... 31 CPU ................................................................................................................................................... 31 CPU Reporting Services ............................................................................................................... 31 CPU Kaseya Messagesys .............................................................................................................. 31 CPU w3wp IIS Workpool Process ..................................................................................................... 32 CPU SQL Server Process .................................................................................................................. 32 3|P ag e

Disk IO ............................................................................................................................................... 33

4|P ag e

Introduction
If you are running Kaseya Version 5.x or previous versions and are close to maximizing your CPU, Networking and/or IO resources, dont expect Version 6.x (K2) to run similarly on the same infrastructure. We hope this guide will help you with your planning on upgrading or a new install of Kaseya K2. Please remember that the Minimum Requirements on the Kaseya Support Site is based on an average. Every customer is different and your mileage will vary. Kaseya is an enterprise application that requires specific hardware and software requirements in order to run effectively. These requirements include a database and IIS server(s), a network capable of handling agent traffic and a client platform and browser to present the user interface. In addition, it is helpful to understand that every environment that is running Kaseya is different. There are many variables that will impact the performance of your Kaseya installation. The recommended requirements on our web site are a general guideline based on measures taken on multiple customer environments. The purpose of this document is to help you give your Kaseya Environment a Health Check by looking at various areas of performance and providing a checklist of items to review to implement best practices as it pertains to performance. This document will go over the various areas of performance with recommendations of best practices where appropriate. Each of the sections are labeled in a way that they can be easily be referenced from the Performance Check List which is in the last section of this document. The sections covered in this guide are: The Basics Memory CPU Network IO Virtualization Federation of Servers AddOn Performance Tips o Service Desk Performance Check List

5|P ag e

B.0TheBasics
B.1HotFixes
Make sure your up to date on hot fixes since performance related issues are addressed through this mechanism. Go to system, configure and make sure you have Enable automatic check checked. Also verify that you are current on hot fixes by looking at the Last Hotfix field. If not, click the Get Lastest Hotfix button. It is also a good idea to run the Reapply Schema link after hot fixes are applied since this may create any missing indexes on the database helping performance. Some customers choose not to have this feature enabled. In this case, you should review this periodically and if you are experiencing performance issues, its best to apply all hot fixes before contacting support.

B.264bitversus32bitOSandSQLServer.
Dont use 32 bit OSs or SQL Server. Its okay for test environments, but will not scale to support Kaseya.

B.3SystemRequirements
Did you review the minimum system requirements at the Kaseya support site? http://www.kaseya.com/support/systemrequirements.aspx Keep in mind that these requirements can vary based on many variables such as: Number of audits Number of patch scans Number of KES scans User/Sample scripts Reporting Log History Agent History Script distribution

It is therefore important for you to monitor your environment at all times and preferably with a Kaseya Agent. This way, you can monitor, track and alert when resources are constrained like CPU, Disk IO, 6|P ag e

Memory, SQL Server Locks, etc Kaseya provides sample monitor sets as well as a NOC service that can monitor these for you. Please feel free to contact our NOC services for more details on this service. As we work with many clients, we constantly update our monitor sets to insure best practices in terms of monitoring the Kaseya solution.

B.4Browsersandworkstationsmakeadifference
The new features and functionality of the new Kaseya UI does require more resources in terms of Networking bandwidth and CPU on the clients workstation running the UI. The reason is that we are now using Java AJAX and JSON in order to render our pages. We have found that using Firefox over Internet Explorer provides better response times on the Kaseya UI and is highly recommended. Chrome appears to be the fastest; however, this browser is not supported at this time. If you notice that the UI is slow, check to see how much CPU your workstation is utilizing during screen refreshes. If the CPU consistently hits 100%, your workstation may be under powered to render the pages. Also compare the CPU utilization between Firefox and Internet Explorer.

B.5Please,distributeyourscripts!
You probably keep hearing this from us as a Kaseya Customer, but it is very important that you distribute your scripts. On the right, the scripts for the Latest Audit are all scheduled at once. And before that, all of the Patch Scans are scheduled in a small time frame as well. If you dont have enough resources on the server, many things can happen. For example: The patch scans may not be finished before

7|P ag e

auditsstart.YouwillseeCPU,NetworkbandwidthandIOallspike. WithhighIO,NetworkandCPU,agentsmayfailtocheckin.Thenalertswilloccurand exasperatethesituation. WithhighIO,NetworkandCPU,yourUIwillslowtoacrawl.

Keepaneyeonyourscriptdistribution,itisimportant!

B.6Myscriptsaredistributedbutwhyaretheyallrunninginthemorning!
AnotherissuethatisseenwithscriptschedulingisthatmanycompaniesaregoingGreen.Serversand PCsmaybeturnedoff duringthenight.IfPatch ScansandAuditsare distributedandsetto runatnight,theymay bequeueduntil everyoneinthe companycomesinto startuptheirmachines. So,ifyouare experiencingthis,check outyourstatisticsinthe System>Staticstab. NotehowhighyourCPU isrunningandthenlook atthetopsscriptsthat haveruninthelasthour. Ifitappearsthatthere aremorescriptsthat haverunthanwhatyou setasanhourly distribution,youmaybe runningintothis scenario.Consider increasingyourCPU, NetworkingandIOto addressthis.Kaseya minimumrequirements arebasedonanaverage over24hoursassuming anincrementalauditand patchscanaday.

8|P ag e

B.7TheStatisticsHiddenLink
Onveryusefulfeatureisthehiddenlinktoview serverhistoricalstatistics.Thislinkislocatedon theSystem>Statisticspageontheboxwiththe headingstartingwithStatisticscollectedat. Thisisthehiddenlink.Clickthistobringupthe historicalstatisticspage.Here,youcanreview historicalgraphsthatprovideveryuseful informationonthenumberofscriptsrun,CPU, etc Again,oneofthebiggestresourceissuesis scripts.Iftheydontappeardistributed,but spikingasshown,thenyoumayexperience timesofslownessinyourenvironment.Review theCPUgraphtooandseeifyourenvironmenthashistoricallyhighCPUutilizationorspikesaswell.Ifit does,trytodistributeyourscriptstorunmoreevenly.

9|P ag e

M.0Memory
Howtomonitormemory
MemorycanbemonitoredbyusingtheresourcemonitorinWindows2008.Therearetwokey indicatorsthatareimportantto memoryandthisiswhytheyshow onthispanel.Youshouldnotsee excessiveHardFaults/sec.Ideally, thisnumbershouldbeverylowor evenzero.Ifyouseevaluesinthe doubledigitsormore,youare runninglowonmemoryanddisk swappingisoccurring.Thisisbad. Also,makesureyouarenotabove 85%onyourUsedPhysicalMemory. Ifyouare,youshouldconsider addingmoreRAMtoyoursystem.

M.1Processes
Youmusthaveenoughmemoryto supportfiveofthemostmemorydependantprocessesinasinglephysicalKaseyaServerenvironment. Theseprocessesare: KaseyaMessageSys W3wp(IISWorkpool) Kserver MSSqlServer MSSqlReportingServices InKaseyaV6,theKaseyaMessageSys.exeisanewprocessthatwillallowKaseyatoscalewithfuture versionsandworkscloselywithMicrosoftMessageQueuing.Inadditiontothis,Version6alsoadds MicrosoftReportServices. KaseyaMessageSyscanuse380meg.ofRAMforasmallimplementationofKaseya(0250endpoints)to morethan1.2Gig.OfRAMforlargerinstallations(2500ormoreendpoints). InadditiontoKaseyaMessageSys,thenewKaseyaUIrequiresmoreRAMfromIIS(specifically,theIIS workpoolprocesscalledw3wp).Thisprocesscanuse250Megabytesforasmallimplementationto700 Megabytesormoreforlargerimplementations. KaseyaalsoutilizesMicrosoftReportingServiceswhichwilladdadditionalmemorypressureforyour instances.Smallinstancescanuse160200Megabyteswhilelargersystemscanuseevenmore.Itsnot unusualforthisprocesstogrowto1.3Gigabytesormore.

10 | P a g e

IfyoucurrentlyarerunningKaseyaV6,thesememoryrequirementsmustbeconsideredandaddressed whenyouarereadytoupgrade.Especiallyonsystemsthatarerunninglowonmemoryresources already.Itiseasy,therefore,toaddanother800MegabytestoasmallsystemjustforthenewKaseya V6release.Forlargerimplementations,2GigabytesinadditionalRAMisnotoutofthequestionand highlyrecommended. AlsoconsiderthatWindows2008usesmoreRAMjusttorun.Itsrequirementsareevenmorethan previousversionsofwindows.Typically,youshouldallocateatleast2GigabytesofRAMforthe operatingsystemalone.

M.264BitOperatingSystem
Currently,itishighlyrecommendedthatevensmallinstallationsofKaseyaVersion6use64bitWindows toaddressRAMoverthe32Bitlimitof4Gig.AsshownaboveinsectionM.1,evenasmallinstallationof KaseyacanbeimpactedbynewKaseyaandWindows2008requirements.InadditiontotheOS,SQL Servershouldbe64Bitaswell.

M.332Bit/3GBintheboot.ini
Kaseyahasseenthatthe/3GBswitchintheboot.iniof32bitWindowscausesexcessivepagingsimply becausemoreRAMisbeingallocatedtoapplicationsandnottotheOperatingsystem.Thisswitchisset intheboot.inifileandshouldbetakenout.Initsplace,youshouldupgradeyourWindowsoperating systemto64bitoraddadditionalmemorytoyourexisting32Bitenvironmentandusingthe/PAE switchinitsplace.PAEisusedbySQLServer(byenablingAWE)andcanusetheadditionalmemory abovethe32Bitlimitof4GB.Thisfeaturedoesnotworkon32BitWindowsStandardEdition. Ifyouarelimitedto32bitsystemsand4GigofRAM,youshouldconsidersplittingtheserverintoan applicationanddatabaseserver.ThiswillatleastallowmoreRAMtoboththedatabaseserverandthe applicationserver.

M.4MemoryBestPractices
Makesuretomonitormemoryusageonthefollowingprocessestodevelopusagehistoryandassess Memoryrequirementsspecifictoyourenvironment: Sqlserver.exe W3wp.exe KaseyaMessageSys.exe ReportingServicesService.exe KServer.exe

11 | P a g e

C.0CPU
CPUutilizationcanvarybasedonmanyvariables;however,withK2youmustplantoallocatemoreCPU thanpreviousKaseyaVersion5implementationsforthesamenumberofendpointsmanaged.Thisis duetotheadditionalfunctionalityofthebackenddatabaseandfrontend.Newprocesses,likeKaseya MessageSysandMicrosoftReportingServiceswillrequireCPUresourcesaswell. C.1MicrosoftReportingServices MicrosoftReportingServicesisnewtoK2andutilizesmoreCPUandMemorytorunreportsthanprior versions.Ifyouschedulemanyreportstorun,trynottoschedulethemduringtimesthattheserveris alsorunningauditsandpatchscans.Dependingonyourreportingloadanddatavolume,youcanusea wholecoreormorejustforreporting.OnewaytotrackreportingCPUutilizationistouseanAgenton yourKaseyaserverandcreateamonitorsetforreportingservicesprocess.Fromhereyoucancreate graphsasshownbelowusingKaseya.Inthisexample,thereislittlereporting,butwhenreportingdoes run,itcantake50%ormoreofacore.Pleasenotethatthisisnot50%oftotalCPUonaserver.For

moreinformation,pleaseseetheAppendixsectionformoredetailedinformationandtheXMLto importthismonitorsetintoyourownenvironment. C.2KaseyaMessageSys ThisprocesswillallowfutureversionsofKaseyatoscaleintermsofthenumberofendpoints.Itworks closelywithotherKaseyamodulesandinternalprocesses.IntermsofCPU,thisprocessmayuse between510%ofacore.IfyouinstalltheKaseyaServiceDesk,youmayfindthisprocessusingmore CPU.Thebestpracticeistomonitorthisprocessaswellusingthemonitorsetdescribedintheappendix.

12 | P a g e

C.3 w3wp This is the IIS work pool process. It should be monitored since it is second to SQL server in terms of CPU resource consumption. This process will consume more resources based on the number of administrators on your system and is also impacted by the Service Desk Addon. C.4 Kaseya Addons Depending on the number of addon products like KES, BUDR, User Profile and Service Desk, your requirements can vary appreciable in terms of memory, CPU, networking and IO. C.4.1 Kaseya Addons KES In terms of CPU, KES and Service Desk will have an impact to your overall CPU utilization. For KES, in general, you should plan on an adding an additional 10% over the recommended CPU. C.4.2 Kaseya Addons Service Desk The Service Desk will have an appreciable load on a server that is also running Kaseya. Currently, the following calculations should be done to estimate the additional CPU needed for single or dual server Kaseya implementation: Application Server: Number of named users that will access the Service Desk * 15Mhz Database Server: Number of named users that will access the Service Desk*35Mhz

Just add the two above if this is a single server install. For example, if you know you will have 50 users accessing the Service Desk Addon, you should have the following additional CPU resources added to the Kaseya Minimum requirements: Application Server: 50*15Mhz = 750Mhz Database Server: 50*35Mhz = 1750Mhz

For a single Kaseya Server, just add them together. In this case, we come up with 2500Mhz. So a good rule of thumb is about 50 named users supported by one 2.4Mhz Core of CPU. C.5 Larger number of files on servers and workstations As servers and workstations become larger in size in terms of files, we must compare and store this detail on the Kaseya server. This in turn requires more space on the database and increases CPU to report and process this data especially during Audits. C.6 Log Archive duration The longer you keep agent and monitor logs, the more resources it takes to run reporting and data mining. Try to keep the logs to a minimum. C.7 IIS Compression Some companies may consider using IIS Compression to reduce bandwidth costs at hosting centers and improving performance on low latency/slower networks. The Kaseya application will benefit from compression on IIS6.0 and IIS7.0, but there is a CPU cost. Because of the various compression levels

13 | P a g e

available, it is best to create a baseline on your CPU utilization and then slowly increase compression levels until a good balance is reached with existing CPU resources and improved page performance. C.8 DEP DEP is a new feature for Windows 2008 and Windows 7. It adds logic to prevent execution of programs in memory regions and by default is turned on for all programs in Windows 2008. This does affect CPU and we recommend setting this to Turn on DEP for essential Windows programs and service only. You can access this setting by left clicking Computer properties and then select advanced options. Then select Settings from the Systems Properties window and then select the Data Execution Prevention tab.

14 | P a g e

N.0 Network
Just like CPU, networking will vary based on the number of scripts run, audit scan detail, Kaseya Addon products, etc It is important to monitor this carefully since Kaseya Version 6 will require more network bandwidth than previous versions of Kaseya. Where this is most evident is in the Kaseya UI. The Kaseya UI now is based on Java AJAX and JSON. These technologies bring a feature rich experience to the end user. It is very much like a windows application versus a HTML based application. These features, however, require more networking bandwidth in order to run well.

N.1 IIS Compression


IIS Compression can be set to help with overall performance of the Kaseya UI. Compression will help with performance from the networking perspective, but will affect the CPU utilization of IIS. Compression can be set to various levels.

To enable compression, install the Static and Dynamic Content Compression role services for IIS. Once these services are installed, you must enable them in IIS by opening the IIS Manager and clicking on the Compression icon.

15 | P a g e

Then check the Enable dynamic and static Content compression on the default website as well as the IIS Home. Please note that IIS 7.0 will stop compression if the server is starving for CPU. IIS 6.0 will not. Be sure to monitor CPU utilization on the server before and after this setting to insure the impact isnt excessive.

N.2 Plan Network Utilization


The range of networking bandwidth used by customers varies quite a bit. Some customers may take 20 Megabytes of network per agent a month where others can go as high as 250 Megabytes per agent per month. Typically, we see between 5070 Megabytes per agent per month. In the table below, based on the number of agents, Roughly, this will look like this: WAN connections based on an average of 5070 Megabytes/Agent/Month Number of Average Bits/Sec 24hrs Agents 100 21,605 1000 216,049 5000 1,080,247 20000 4,320,988 100000 21,604,938 WAN Connection < T1 < T1 T1 T2 T3/DS3

WAN connection based on an average of 250 Megabytes/Agent/Month Number of Average Bits/Sec 24hrs Agents 100 77,160 1000 771,605 5000 3,858,025 20000 15,432,099 100000 77,160,494 16 | P a g e WAN Connection < T1 T1 T2 T3 Dual T3

Naturally, you should plan for peaks. For example, even though a T1 can handle 5000 agents in an average install, if youre limited to an 8 hour windows versus 24 hours to run audits and high bandwidth scripts, you may need the capacity to support peaks that are three times the average in the tables above. Why the differences? It is due to many reasons. Number, distribution and frequency of full/incremental audits and audit details on servers/workstations Depending on the detail contained on servers and workstations, the agent will send XML documents across the net to the Kserver. These document sizes can vary. Some can be very small like a 10k bytes while others can be as high as 400k Bytes or more. Number, distribution and frequency of patch scans Similar reason as audits Number, distribution and frequency of KES scans Similar reason as audits Number and size of managed files that may be distributed to/from your servers/workstations Customers may send managed files of various sizes to all of their endpoints. Some even bring files back to the Kserver. This all will require bandwidth to manage effectively. Number of administrators that will be using Kaseya to manage and monitor their respective environments The number of administrators makes a difference overall on Kaseya Servers. If you have many of them running dashboards, using the UI extensively or using Service Desk, you should plan on acquiring more network bandwidth. Distribution of Scripts This is described in another section above, but does affect network bandwidth as well. Trying to run too many scripts at a time can cause network saturation

N.3 Network Utilization for Service Desk


The service desk will add overhead to your network connections. You can help reduce the network load by showing fewer rows of tickets. See Section A.1 below for more information on this. By selecting fewer rows, you can improve network throughput as shown on the chart on the right. The smaller dual spikes show a 30 line per page while the higher dual spikes show a 100 line per page. Depending on the number of named users using Service Desk, this can add up. 30 Lines Per Page 17 | P a g e 100 Lines Per Page

IO.0 Disk Performance (IO)


Just like Networking and CPU, disk IO is varies widely between Kaseya installs even when the same number of endpoints are managed by different customers. Again, this can be due to many factors such as the number and type of audits, patch scans, number and type of scripts, etc The recommended minimum configurations provided on the Kaseya Web Site should be adequate for most Kaseya installations. It is difficult to predict what your disk IO loads will be but the following best practices should help you understand and address any IO issues.

IO.1 Kaseya IO Hot Spots


There are a couple of IO Hot Spots that should be monitored (see how in the next section). These are: Windows Paging If memory is low, invariably, paging will occur and could cause quite a bit of IO to the paging file. Almost always, this is on the root drive of a windows installation (C:\). This causes disk contention with Kaseya and SQL Server if they too are on the same physical disk (or array) as the paging file. Consider adding memory to reduce paging or moving the paging file to another device. In some installs of Kaseya, the c:\ is left to just the OS and paging while another set of drives contain the Kaseya installation thus distributing the IO more effectively. \Kaseya The Kaseya install directory is not static. Depending on the size of your installation, the drive that contains the Kaseya application installation should be monitored for optimal IO; Even if you put your database files on another set of drives. The Kaseya service receives many files from agents and processes those files in this directory. These files mainly take the form of XML documents with detail information from tasks such as audits and patch scans. These files are processed before they are saved in the database. Depending on the number and size of the files, IO to this path can become heavy. SQL Server TempDB When SQL Server is installed on a server, it may typically be installed in the root drive (like C:\). One common mistake is that customers will move the database data and log files to another higher performance device and leave TempDB on the root volume by mistake. TempDB is heavily used for audits and patch scans as well as reporting. As the number of endpoints goes up, the heaver TempDB is hit with IO. If its on the same volume as Kaseya and the OS, it will compete with those processes. Its not unusual to see agents and other Kaseya process failures due to excessive IO all on one device. Monitor IO on devices that use tempDB. You will see most IO against this when audits, patch scans and reporting is active. SQL Server Database and Logs It is recommended that the SQL Server Database data and log files be on separate devices as IO increases in your installation. It is also recommended that they be separate from TempDB and the Kaseya install directory too as your implementation grows into the thousands of end points.

18 | P a g e

IO.2 Monitor your IO


One of the best practices you can do for your Kaseya environment is to monitor your IO. Fast reads and writes to physical disk are critical for SQL Server and Kaseya performance and you should install an agent on your Kaseya application and database server to monitor Disks. All volumes should be monitored with the following counters: Avg. Disk Queue Length This should not be larger than 2x the number of physical drives on your device. For example, if you have a RAID5 array of 3 physical disks, you should not see this go above 6 for any long duration. Avg. Disk Sec/Read and Avg. Disk Sec/Write Reads from any device, whether its a single drive, a raid device on a SAN or a virtual disk on a hypervisor environment should be fast. Normally, you should see consistent read/write performance of 20ms. This equates to .02 on these counters. If you see consistent measures above .06, this indicates that the drives are very busy. If youre consistently above .1, you should consider adding more drives to your array or moving the hot files described above to other disk device to distribute the IO.

19 | P a g e

V.0 Virtualization with ESX


Customers who use ESX server should plan resources accordingly for Kaseya VMs. In this section, we will cover best practices for Memory, IO and CPU. In some cases, you may be hosted by vendors using ESX. These recommendations should help in that situation as well.

How to monitor resources under VMWare ESX


VMWare ESX 4.0 now includes VMWare counters that help you determine the configuration and performance of your VM under ESX. These counters are installed as part of the installation of VMWare Tools for the Virtual Machine (VM). ESX 3.5 doesnt have these counters installed as part of VMWare tools. Access to the counters is shown below. Just click on All Programs > VMware > WMware Tools > start VM Statistics Logging.

From here you will see two counters related to VMWare. VM Memory and VM Processor. Each of these is used for the sections below on best practices for a VMware installation in terms of Memory and CPU.

20 | P a g e

V.1VMWare ESX Memory Configuration


VMware allows multiple Virtual Machines to share resources such as memory and CPU. Under certain conditions, memory can be over allocated on the ESX server, but the VM will not indicate this through its own resource monitoring. To the VM, it may think it has plenty of memory. The issue is that the ESX server may be paging memory to its own paging file impacting the performance of the underlying VM running Kaseya. To keep this from happening, insure that Virtual Machines that are running Kaseya have enough reserved memory allocated to the VM. Typically, you should reserve at a minimum 2gig of RAM for small installations and in larger, you should do 50% or more the VMs memory. If the servers are split as an application server and a database server, you must still reserve memory to both for best performance. As shown below, the VM Memory object has a counter called Memory Reservation in MB. If this is set to zero (like it is below), it is possible that the VMs memory could be swapped to disk by the ESX host. Adjust or request that memory be reserved for your VM. Another counter called Memory Swapped in MB can indicate this condition. In any case, please allocate memory reservations to a single Kaseya VM or to both VMs if you have split your Database and Application Servers.

21 | P a g e

V.2VMWare ESX CPU Configuration Reservations


Just like memory, ESX allows VMs to share CPU. And just like memory, you need to insure that dedicated CPU cycles are reserved for single or dual server implementation of Kaseya. This is critical because inconsistent CPU will always lead to unexplained performance issues. On ESX 4.0 server VMs, use the VM Processor object to monitor CPU Performance. Here look at the CPU Reservation in Mhz and see if its set to zero as shown below. If it is, your VM can be starved of CPU cycles from the ESX host. Again, you need to allocate enough CPU reservations to satisfy the load of a single or dual Kaseya VM implementation.

22 | P a g e

How can you determine if youre starved of CPU cycles? Use the Effective VM Speed in Mhz counter. This counter will show how many cycles a VM is using in Mhz. In this example, you will see that this VM has four virtual cores.

If you select the Host Processor Speed in Mhz counter, it will show that the host processor runs at 3000Mhz (or 3GHz). Technically, this VM if given unlimited CPU cycles from the ESX host, should have 4x3Ghz or 12Ghz total of Effective VM Speed (or 12,000Mhz). In the example below, you will notice that there are times that the VMs CPU is at 100%, however, this would indicate that all 12,000 Mhz was being used to get to 100%. In reality, the VM was only getting 5077Mhz maximum as shown in the Effective VM Speed counter below. This indicates that the VM is being starved of CPU and reservations should be allocated to this server.

23 | P a g e

One reason that this server is being starved of CPU is it could be limited in how many CPU Mhz it receives. This is explained in the next section.

24 | P a g e

V.3VMWare ESX CPU Configuration Limit


Even though a VM may appear to have multiple cores, there still can a limitation on how much CPU cycles are given to those cores in total. How can you tell if you are being limited in CPU? Just check the Limit in Mhz. This should never be below the recommended total CPU Mhz based on Kaseya minimum requirements.

V.4VMWare ESX VMWare tools up to date?


Make sure you ESX VM have VMWare tools up to date. You can tell by the yellow caution in the lower right hand corner. Double click this Icon and you can run the update to bring it current. This insures that resources are properly being reported back to the ESX host.

25 | P a g e

F.0 Federation of Servers


F.1 Single versus Dual Servers
You can run Kaseya on a single server and in small implementations, this will work out fine. However, as the number of endpoints increase, you should consider splitting the servers into an application and database server. Usually, we recommend that a separate application and database server be used for environments that have 5000 or more agents. This insures that application processes are not fighting with SQL Server for resources. F.2 Reporting Database Servers K2 allows you to have up to three servers in a Kaseya Environment. If your reporting needs are heavy and you see that reporting services are taking quite a bit of Memory and CPU, you may consider having a separate database for reporting. This configuration requires that you have a separate application server and two database servers.

26 | P a g e

A.0 AddOn Performance Tips


A.1 Service Desk
The Service Desk requires more networking and workstation CPU resources to run. One simple way to reduce the amount of traffic and rendering at both the workstation and Kaseya server is to simply change the number of tickets that are displayed on a screen. This will have an appreciable effect on server side too since these screens are refreshed periodically. Depending on how many people you have accessing the Service Desk; the benefits can add up quickly. By default, this list is 100 per page. You should set this to 30 or less and communicate this to your users. Service Desks greatly benefits from the browser that youre using. We recommend Firefox over Internet Explorer.

27 | P a g e

Performance and Best Practices Check List


B -The Basics
Section B.1 Item Did you apply all hot fixes to your environment to ensure all performance hot fixes have been applied? Did you upgrade your OS and SQL Server to 64 Bit for K2? Did you check to make sure Minimum System Requirements are met? If browsers are slow, are you using Firefox over Internet Explorer? Is the workstation under powered to run Java to render the Kaseya UI? Review your script distribution. Is it even? Are all of your endpoints powered on to make script distribution a benefit? Do you check the statistics page periodically to review script distribution, CPU utilization, etc. Yes/No

B.2 B.3 B.4

B.5 B.6 B.7

M-Performance Checklist for Memory


Section M.1 Item Did you allocate additional RAM for new processes and features for Kaseya V6 if youre upgrading from Kaseya 5? Upgrade Windows OS and SQL to 64 Bit. Remove /3GB from boot.ini file Add more RAM or upgrade to windows/sql 64 Bit Do you monitor the memory usage of key processes? Yes/No

M.2 M.3 M.4

C-Performance Checklist for CPU


Section C.1 Description Microsoft Reporting Services Did you create a monitor set for this process? Review this periodically and adjust CPU resources if needed. Be aware when reports are running and try not to schedule heavy scripts around this time like audits and patch scans. KaseyaMessageSys Did you create a monitor set for this process? Review this periodically and adjust CPU resources if needed. W32p Did you create a monitor set for this process? Review this periodically and adjust CPU resources if needed. Kaseya Add ons: Are you adding KES to your install? If yes, increase your CPU requirements 10%. Kaseya Addons: Are you installing Service Desk to your install? If yes, Yes/No

C.2

C.3

C.4.1 C.4.2 28 | P a g e

use the following formula to calculate additional CPU requirements. Just add the two together for single Kaseya Server. Application Server: Number of named users that will access the Service Desk * 15Mhz Database Server: Number of named users that will access the Service Desk*35Mhz

C.5

C.6

C.7

If your managed environments contain many files or programs, consider adding more CPU resources to handle the increased volume. For example, a company managing many servers in relations to workstations will see more CPU utilized during Audits. Consider how long you need to keep logs. If you want to keep them longer than 30days (the default), then you will need to increase resources to report on those logs. Will you be using IIS Compression to help with bandwidth and slow networks? If yes, create a CPU baseline and monitor trends as you increase compression levels on IIS. IIS 7.0 offers a CPU rolloff which will stop compressing pages as CPU utilization increases. IIS 6.0 doesnt offer this feature, so you should insure that you monitor your CPU accordingly. Is DEP set for just essential Windows programs and services?

C.8

N-Networking
Section N.1 Description IIS Compression. If you have CPU resources, try installing and setting up compression to help with bandwidth issues. Remember, this creates more load on the CPU based on the compression youre using. Did you plan for WAN network requirements for your Implementation? Did you plan for additional network requirements for Service Desk? Yes/No

N.2 N.3

IO-Disk Performance (IO)


Section IO.1 IO.2 Description Identify and monitor your IO hot spots Did you add agents to your Kaseya server(s) and setup monitoring of IO? Yes/No

V-Performance Checklist for Virtualization with ESX


Section V.1 29 | P a g e Description Did you allocate reserved memory to your Kaseya implementation? If Yes/No

you split them into a Database and Application Server, did you still reserve memory in ESX for both? V.2 Did you allocate reserved CPU to your Kaseya implementation? If you split them into a Database and Application Server, did you still reserve CPU in ESX for both? Is your VM being limited in Mhz? Make sure it has enough CPU in Mhz to run Kaseya in both a single and dual VM configuration. Is VMWare tools up to date?

V.3 V.4

F-Federation of Servers
Section F.1 F.2 Description If you plan to have more than 5000 agents, are you using two physical servers? If your reporting needs are heavy, did you plan to have a separate reporting database server? Yes/No

A-Add-On Performance Tips


Section A.1 Description Did you set the number of tickets to display to the minimum necessary? Yes/No

30 | P a g e

Appendix A Monitor Sets


The following monitor sets can be imported into your Kaseya Version 6.x environment by just pasting them into your monitor set import tool. Depending on your environment, you may want to change the parameters to tune them; however, they should provide a good base to develop your capacity models. Kaseya also uses these monitor sets for its TI Management services as well.

CPU
These monitoring sets will help with CPU utilization of the major CPU consumption processes on a Kaseya install. Depending on the number of servers in your Kaseya environment, some of this will not apply. For example, where the database is a separate server, you would not use the SQL Server process utilization monitor set. In addition, the CPU in these monitor sets can exceed 100%. Dont confuse this with total CPU utilization of a system. For example, a four core server with reporting services taking up two cores at 100% will read 200% in these measures. If reporting services was using all cores at 100%, you will see the measure report 400%. These are useful in terms of trending as well as providing some feedback to support like a process that may be taking more resources suddenly. CPU Reporting Services <?xml version="1.0" encoding="ISO88591" ?> <monitor_set_definition version="1.0"> <MonitorSet name="Reporting Services Process Util" description='This set is used to monitor and alert based on reporting services process utilization'> <Counters> <Counter name='Processor Time' description='null' counterObject='Process' counter='% Processor Time' counterInstance='ReportingServicesService' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='50' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> </Counters> <Services> </Services> <Processes> </Processes> </MonitorSet> </monitor_set_definition>

CPU Kaseya Messagesys <?xml version="1.0" encoding="ISO88591" ?> <monitor_set_definition version="1.0"> <MonitorSet name="KaseyaMessageSys Util" description='This set is used to monitor and alert based on Kaseya messagesys process utilization '> <Counters>

31 | P a g e

<Counter name='Messagesys Processor Time' description='null' counterObject='Process' counter='% Processor Time' counterInstance='KaseyaMessageSys' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='98' thresholdDuration='5' thresholdWarning='10' thresholdReArm='600'/> </Counters> <Services> </Services> <Processes> </Processes> </MonitorSet> </monitor_set_definition>

CPU w3wp IIS Workpool Process


<?xml version="1.0" encoding="ISO88591" ?> <monitor_set_definition version="1.0"> <MonitorSet name="w3wp Process Util" description='This set is used to monitor and alert based on IIS Workpool process utilization '> <Counters> <Counter name='Processor Time' description='null' counterObject='Process' counter='% Processor Time' counterInstance='w3wp' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='100' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> </Counters> <Services> </Services> <Processes> </Processes> </MonitorSet> </monitor_set_definition>

CPU SQL Server Process


<?xml version="1.0" encoding="ISO88591" ?> <monitor_set_definition version="1.0"> <MonitorSet name="sqlserver Process Util" description='This set is used to monitor and alert based on SQL Server Process utilization.'> <Counters> <Counter name='Sql Server Processor Time' description='null' counterObject='Process' counter='% Processor Time' counterInstance='sqlservr' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='300' thresholdDuration='5' thresholdWarning='10' thresholdReArm='600'/> </Counters> <Services> </Services> <Processes> </Processes> 32 | P a g e

</MonitorSet> </monitor_set_definition>

Disk IO
This monitor set should be used on each volume that houses your OS paging file, Kaseya install directory, database data, log and tempDB. The monitor set below assumes that everything is on the C:\. You can import this monitor set and clone it for additional drives in your installation. You should change the Disk Queue Length measure to reflect 2x the number of physical drives in your disk device. This also assumes your using an agent to monitor the Kaseya server(s). <?xml version="1.0" encoding="ISO88591" ?> <monitor_set_definition version="1.0"> <MonitorSet name="Disk IO Best Practices" description='Use this monitor set to insure optimal performance on your disk devices'> <Counters> <Counter name='LogicalDisk' description='RAID 5 of three disks' counterObject='LogicalDisk' counter='Avg. Disk Queue Length' counterInstance='C:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='1' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='6' thresholdDuration='10' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='LogicalDisk sec/Read C:' description='null' counterObject='LogicalDisk' counter='Avg. Disk sec/Read' counterInstance='C:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0.02' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='0.1' thresholdDuration='20' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='LogicalDisk sec/Write C:' description='null' counterObject='LogicalDisk' counter='Avg. Disk sec/Write' counterInstance='C:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0.02' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='0.1' thresholdDuration='20' thresholdWarning='10' thresholdReArm='3600'/> </Counters> <Services> </Services> <Processes> </Processes> </MonitorSet> </monitor_set_definition>

33 | P a g e

You might also like