SQL Saturday Atlanta 2017
SQL Saturday Atlanta 2017
https://shabnamwatson.wordpress.com
Who is this presentation for?
• Anyone who:
• Is responsible for maintaining a SSAS server.
• Wants to look at SSAS from the sever side end user
tools.
• Familiar with what a SSAS database is from a
development standpoint.
CPU: Pegged close to %100 for long periods CPU bottleneck. See how many threads.
Memory consumption: Below the LowMemoryLimit? Too low? (Post crash)
Disk: For MD, which cubes/measure groups are being used to answer queries? Several hundred MB/Sec?
Backups/sync/process operations. Writes in the middle of the day.
Disk: For Tabular: Paging.
SSAS Engine (MD)
Frequently
Formula Engine accessed and
MDX Cache calculated cells
Dimensions
Data Data Data
• The formula engine cache Set 1 Set 2 Set 3
• The storage engine cache
• The file system cache
Storage Engine
Tabular: Default storage Cache Some accessed subcubes
model is VertiPaq, Aggregation Data
performs best when the I/O
entire model fits in Measure Group Data
memory. file system cache or disk.
SSAS Memory Manager
Memory Price/KB
1000
Total Memory Limit (%80)
0
0
Memory Price zero until memory reaches Low Memory Limit.
The more memory is used the higher the price.
Price gradually increases until memory reaches half point between Low and Total limit.
Controlling the SSAS Memory Manager
LowMemoryLimit: Server is low on memory,
cashes start to clear.
Memory Usage
VertiPaqPagingPolicy 0 (Default) 1
Paging to disk No – VertiPaq data locked in Yes – Data Pages can be flushed to
memory disk
VertiPaqMemoryLimit %Total Memory that VertiPaq Cleaner ignores VertiPaq memory
(%60) can lock in working set beyond VertiPaqMemoryLimit for
clearing caches
VertiPaqPagingPolicy = 0 VertiPaqPagingPolicy = 1
Thread Management
• Too many: context switches and resource
competition
• Too few: CPU and Disk underutilization
• ThreadPool\Parsing\Short
• ThreadPool\Parsing\Long
• ThreadPool\Query: FE
• ThreadPool\IOProcess: SE
Disk structures (Windows Explorer)
• MD:
• Database
• Measure Groups
• Dimensions
• Partitions
• Aggregations
• Tabular
• Table
Pay attention to
• size and last update date
• size of aggregations
• Temporary folders
Log Directory
Server Properties
msmdsrv.ini Back up!
• Memory properties
OLAP properties (connection timeout,…,mostly advanced: don’t change)
• AggregationUseEnabled
• Thread Pool properties
Processor
utilization for SSAS
Perfmon Data Collectors
Use custom data collectors to turn on for certain periods of time on servers.
SQL Server Profiler
Not depreciated for SSAS
Find out who is connected.
Look at queries running. Catch long running queries.
Look at build/sync activities.
What tool are users using?
Use “Query End” event to log a list of queries: Save to
a table, use as worklist to establish baseline.
SSAS Dynamic Management Views
Provide information about local server operations and server
health.
Syntax based on a SELECT SQL statement
JOIN, GROUP BY, LIKE, CAST, and CONVERT are not supported
• Who is connected?
• Who is killing my server?
• How to kill a session?
https://docs.microsoft.com/en-us/sql/analysis-services/instances/use-dynamic-
management-views-dmvs-to-monitor-analysis-services
Extended Events
Tracing and performance monitoring system
Light weight compared to profiler traces
• 2016: Interface available in SSMS
• https://docs.microsoft.com/en-us/sql/analysis-services/instances/monitor-
analysis-services-with-sql-server-extended-events
• https://www.youtube.com/watch?v=ja2mOHWRVC0&index=1&list=PLv2Bt
OtLblH1YvzQ5YnjfQFr_oKEvMk19
Other tools to check out
Foglight by Quest
BI Sentry by SentryOne