Saturday, July 04, 2015

2015-07-04 Saturday - SaaS Performance Tuning Notes

When exploring possible SaaS performance issues, there are a couple of possible questions/concerns that might be worth examining as possible contributing factors:
  • Is there possible saturation of server CPU % utilization?
  • Is there possible saturation of server Memory % utilization?
  • Is there possible saturation of server Disk % utilization?
  • Is there possible saturation of the available network bandwidth?
    • Check the NIC % utilization on all servers, particularly for the database
    • What is the average response time within the data center network?
  • Is there possible database thread starvation occurring?
  • Are there inefficient SQL queries excessively consuming resources?
  • Does the application leverage any SQL query caching?
  • Is there lock contention occurring on database operations?
  • Would a Master-Slave configuration help distribute some database I/O 
    • Write against Master
    • Read from Slave (need to understand latency of Master to Slave replication)
  • Is there possible excessive session management overhead being incurred?
    • How much data is being stored in session management for an average user?
  • Is there possible File I/O contention for read/write of session data files?
  • Is there possible excessive overhead being incurred for static content delivery?
    • Is static content being served up by the same domain for which cookies are specified?
    • If so, cookies will be sent for each GET of a static content file can be instrumental in helping isolate problems - as well as additional monitoring tools (e.g. such as Ganglia, SolarWinds, etc.)

In a recent experiment, moving two static content files to an externally hosted Content Delivery Network (CDN) appeared to suggest a possible 66% reduction in page load time.

No comments: