Category Archives: Info

Cloud Apps: A brave new world…?

Since 2010 when we started moving our student email system to (then) Live@edu, I think we’ve learned quite a bit… I thought I’d share some of our experiences and (of course!) my own opinions, this being Part I….

The pace at which cloud providers (read: Microsoft & Google) are making changes and improvements to the functionality provided, is simply staggering compared to what an internal IT dept of a university could do. That does of course present us with a number of challenges, and I mention a couple of examples:

  • Integration with our on-premise systems: Cloud providers often integrate new products into the core suite (example: Yammer with Sharepoint Online), which opens up some real interesting conundrums. If we activate SSO (Single sign on) to a cloud application, some users might have subscribed to the product using their institutional email address, but with a different password. This happened with Google Docs when we on-boarded our @uct.ac.za domain into Google Apps for Education.
  • End-user support: It is very likely that a user will be using a specific function, maybe via a mobile app, way before any IT person is doing so. In the BYOD (bring your own device) world, users have access to Android & Apple apps, with associated access to back-end functionality not exposed by our on-premise systems. They expect us to support the application irrespective of origin, version or release date.
  • Training & documentation: The traditional model calls for us to have our training and documentation up-to-date and ready before a product or service is launched. This is becoming increasingly difficult, and we now end up linking to the vendor’s information directly. Of course this also means freeing up some time of technical writers 😉

So off we ride (fly?) into the cloud(s)…

 

Performance Tuning SQL Server – where to begin

When it comes to Performance Tuning, I have never come across DBA’s that have the same methods or step by step guide to performance tuning.  The question I get asked all the time , where to begin.

There is no right or wrong answer. If you are a  consultant and you get called in to a new environment, this is a Level 1 call, you don’t have the time to follow the full steps , you need a quick diagnostic short term solution,  Most DBA’s would start with steps 4 -5

For Real Time solutions , most DBA’s would look at what is running now , and then try to resolve.  One of the best ways of that is looking at your Waits in SQL Server. That would give you a clear indication of where the bottleneck is.

Most common top waits in SQL is related to Disk Subsystem. Before you start running perfmon and pulling out stats on your Disks presented to SQL, you need to ensure that your Data, Log, and Temp DB are  on separate Disks. This can impact SQL performance.

SQL will tell you in Activity Manager, which data files have high IO Latencies.  This can be related to index maintenance , missing indexes or poorly written queries.

Recently we had a performance issue on one on our core  Applications. It is highly used, average 384 batch requests per second. Wait stats showed High IO Latencies and Latching.
Perfmon showed the Latencies are fine for the different drives.  After further investigation, we found our normal maintenance plan which covered index maintenance was not sufficient for the increased high work load.

On another occasion ,  we did actually have a problem on the Disk Subsystems and the SAN vendors were called in to resolve.

If you no longer in crisis mode and want to get the best performance out of your SQL Server:

Operating System:
Must be patched with Service Packs. Ensure no errors.

SQL Infrastructure:
Data and Logs files are placed on separate disks with the correct raid levels.

Instance Configuration:
The defaults is generally fine. You may want to look at min & max memory settings. SQL will consume all the memory not leaving any for the operating system.
Maxdop is another option to look at. You can configure this to suit your environment, OLTP vs OLAP.
Default Index fill factor – default is 0. you can adjust to your environment.

Maintenance Plan:
Look at your index maintenance , update of stats , Integrity checks and backups

Blocking & Waits:
This will give you an indication of bottlenecks. A great tool to use.
See article by Paul Randall – Tell me where it hurts

Queries:
Look for long running queries , poor performing queries. Queries with missing indexes.

Databases:
Look at individual databases, tables, indexes, stored procedures and finally individual T-SQL queries.

Another Top SQL Server authority to follow is Pinal Dave – see his article on Performance Tuning

Meet the team…

 Name  Area of expertise Technologies
Eugene van Rooyen Line Manager  (Herding the sheep…)
 Donald Coetzee  Identity Management Novell IDM, SimpleSAMLPhp, E-Dir
 Durie Solomons  Identity Management Novell IDM, EDir
 Muzi Lubisi  Identity Management Novell IDM, Active Directory Federation Services
 Mohamed Ismail  Database Management Microsoft SQL DB & Reporting Services
 Ilyas Farrakhov  Database Management & Third Party Applications Microsoft SQL, MS CRM
 Marco Dippenaar  Microsoft Technologies  AD, ADFS, Sharepoint
 Pieter van Wyk  Microsoft Technologies Office 365, Exchange, Hyper-V
 Kwezi Plaatjie  Microsoft Technologies Exchange, WSUS
 Steve Ndabeni  Microsoft Technologies  Exchange, Office 365
Bongani Quwe  Datacenter & Facilities
Randy Thompson  Datacenter & Facilities
Waylon Horne  Virtualisation & Storage  VMware, Netapp
Brent Boswell  Virtualisation & Storage  VMware Linux
Mike Currin  Storage, Open Source Netapp, Linux
Stefan Coetzee  Virtualisation, Open Source, Security  Linux, Splunk, Openstack
Nelis Lamprecht  SAP ERP  Basis, Linux
Ian Josias  Peoplesoft Campus Solutions, DB2
Thembela Sonteya  SAP ERP, BI  Basis, Business Objects