Presentation is loading. Please wait.

Presentation is loading. Please wait.

Understanding and Improving Server Performance

Similar presentations


Presentation on theme: "Understanding and Improving Server Performance"— Presentation transcript:

1 Understanding and Improving Server Performance
Alan Doerhoefer Timothy Hanson Tableau Software Inc.

2 How To Improve Server Performance
Steps to Great Performance Learn the architecture Use appropriate hardware Use distributed server Use server extracts Tune Monitor Troubleshoot Learn the types of views Understand the load test results

3 Understand Server Architecture
Tableau Server Data Sources Load Balancer Web App VizQL Processes Application State Repository Web App Application (WG) Processes Tableau Professional

4 Use Appropriate Server Hardware
Good Server for performance: Windows Server 2003 or bit 16 GB RAM Fast RAID-5 Drives Gigabit Network Card 8 Fast CPU cores

5 Use Appropriate Server Hardware
But Tableau Server will work on lower class hardware: Windows Server bit 2 GB RAM Any type of drive 100 Mb Network Card 2 slow CPU cores

6 Use Distributed Server
Worker 1 VizQL or WG Processes VizQL or WG Processes VizQL or Application Processes Main Load Balancer Worker N Application State Repository Worker 2 VizQL or WG Processes VizQL or WG Processes VizQL or Application Processes

7 Use Distributed Server
Installation is fast and easy We have pre-installed the small worker installer on 2 machines, and run a normal non-distributed install on the main machine (distributed1). Show status screen of server with one machine to compare before and after, then stop server. Start tabconfig to enter server IPs. Note the new tabs “Servers” and “SSL.”

8 Use Distributed Server
Installation 4. Enter IPs for distributed2 (8 App Servers) and distributed3 (8 VizQLs); set “This Machine” to 0 processes; click OK. 5. While init is running, mention that worker installer is 8 Mb, installs in a few minutes; all you need to enter is the main server’s IP address. 6. When init completes, start server, then show status screen again showing multiple servers.

9 Use Distributed Server
Determining the number of server processes Use 2 X the number of processor cores Example 3 server cluster (2 workers) 8 cores per machine Use 2 x 8 = 16 App processes on one worker Use 2 x 8 = 16 VizQL processes on the other worker

10 Use Server Extracts New in 5.0
A database that stores “extracts” of user data locally and efficiently Performance is improved since data is local and indexed Data can be filtered and aggregated as part of the extract Can be set to refresh data sources automatically on a schedule The following extract database types are supported: Built-In Postgres MySQL Microsoft SQL Server Please attend Extracts: Fast Data To Go Thurs. 11 am for more extract details A scheduled extract can improve performance by allowing slow database queries to be run automatically at night. Aggregation of the extracted data can improve performance by reducing the size of the data.

11 Tune the OS Windows 2003 Server (SP1 or Later) TCP Setting Not an issue in Windows 2008 Server Set SynAttackProtect to zero: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "SynAttackProtect"=dword: Disable other processes

12 Tune the Server Session Timeouts WG Session VizQL Session
Can be changed in the configuration file Tableau Server\config\tabsvc.yml WG Session Default is 4 hours To change it to 1 hour add this to tabsvc.yml: wgserver.session.idle_limit: 60 VizQL Session Default is 2 hours To change it to 30 minutes add this to tabsvc.yml: vizqlserver.session.expiry.timeout: 30

13 Monitor Server Server Status Demo

14 Monitor Server Server Activity Demo

15 Monitor Server User Activity Demo

16 Troubleshoot Server Apache logs
Contains information about every request to server at the HTTP request level

17 Troubleshoot Server WG logs and VizQL logs
Contains details of each operation performed by the server

18 Troubleshoot Server tabadmin ziplogs command
collects all logs – even on a distributed cluster – into one archive

19 Understand View Types and Performance
Three Types Of Views: 1. Fast - Fast query - Fast rendering 2. Query-bound - Slow query - Fast Rendering - Same as Fast once query is cached 3. CPU-bound Render-Intensive Uses the most CPU Example: text tables with thousands of cells

20 Understand the Load Test Results
Capabilities of: 1 machine 3 machines 5 machines * Note that these tests show results from a specific test configuration and should not be taken as a guarantee of client response times. These benchmark results were returned in a controlled lab environment, without other applications running during execution. Actual results will vary based on load type, hardware, network speed, browser settings, and database performance.

21 Understand the Load Test Results
Initial View Load Times Effect of caching 5 servers in our load tests served 2,250 named users, or 225 concurrent users Note effect of caching in the 3-sever case Load test machines were identical 8-core servers with 16 GB RAM, 4x15K 73GB, and 2.5ghz Xeon processors.

22 Understand the Load Test Results
Caching - Pre-load views whenever possible to improve initial load times

23 Summary Keys to Performance: - Understand view types
- Understand and utilize the distributed architecture - Use server extracts - Learn how to monitor and investigate


Download ppt "Understanding and Improving Server Performance"

Similar presentations


Ads by Google