16
FBScanner MR-machine for Firebird www.ibsurgeon.c om 1

FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

Embed Size (px)

DESCRIPTION

FBScanner can be used to profile database applications, monitor user activity, manage database connections (including client disconnection on both Classic and SuperServer architecture). It’s also ideal for troubleshooting INET errors (INET/inet_error: send errno = 10054), as well as auditing existing applications and performance tuning.

Citation preview

Page 1: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

1

FBScannerMR-machine for Firebird

www.ibsurgeon.com

Page 2: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

2

Applications send queries to Firebird and receive results via TCP/IP…

www.ibsurgeon.com

Page 3: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

3

What if we will intercept and analyze SQL traffic?

www.ibsurgeon.com

Page 4: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

4

This is exactly what FBScanner does:

You can see and log: - SQL queries (statements,

parameters, plans)- Connections (IP/names,

versions of clients, times)- Users (names, times, etc)- Transactions - Errors and their reasons

(10054, 10038, etc)

www.ibsurgeon.com

Page 5: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

5

…not only see and log, but take full control and manage it

• Filter (allow/deny) connections by IPs/Names

• Identify and kill zombie connections

• Set priorities for Classic instances • Mark and manage everything:– users, connections, applications,

SQLs statements , etc

www.ibsurgeon.com

Page 6: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

6

Tags are COOL!

Tags are special marks set by developer in the SQL source code of applications

Tags help to quickly answer the following (very frequent) questions:

• What program has launched this query? • What is the transaction for this query? • Where is this [very long] query from?

www.ibsurgeon.com

Page 7: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

7

Tags are not only COOL, they are easy!

• Tags allow to assign readable identifiers (names) to Connections, Queries and Transactions. You just need to add these commentaries to the text of SQL:

SELECT COUNT(*) FROM RDB$DATABASE/* FBSCANNER$CON_NAME=My_application;FBSCANNER$TR_NAME=Read_only_transaction_N1;FBSCANNER$ST_NAME=Customers_list_query; */

www.ibsurgeon.com

Page 8: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

8

FBScanner also can identify and log security breaches• Unsuccessful login attempts• 100% logging of SQLs, connections

and other traffic – queries are stored with information

about their connection and transaction

• All transactions are logged, even rolled back

Who

? W

hen?

Wha

t?

www.ibsurgeon.com

Page 9: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

9

Scenarios

• Let’s quickly walk through the most popular scenarios where FBScanner is used:– General monitoring– Connections’ management– Debug and test applications– Logging

www.ibsurgeon.com

Page 10: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

General monitoring•What server is doing? CPU/traffic/queries•Who is connected to this or that database?• Connections life time. Are any “zombies” at server?• Connections activity•What 20% queries create 80% of server workload?

www.ibsurgeon.com

Page 11: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

Connections’ management

• Filter and close connections (kill and safe disconnect are supported)• Set priorities for connections (Classic only) – manually and automatically

(rule-based)

www.ibsurgeon.com

Page 12: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

Debug and test applications• Error in transaction management– OAT (Oldest Active Transaction). Who lost the transaction?– Named connections, transactions, queries

• Full control– Developer can see queries from own and third-party

applications (closed sourced)– It does not depend on client libraries

• Problem detection– Wrong client library version– Bad queries

www.ibsurgeon.com

Page 13: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

Logging• Connections– All information from FBScannerViewer

(database , login, role, IP, PID, etc)

• Transactions– Parameters tpb_nnn– Result (commit or rollback)

• Queries– SQL statement text with/without parameters– Start/end time, CPU Time– Wait time– Plans (extremely useful to find performance bottlenecks!)

www.ibsurgeon.com

Page 14: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

Overhead of FBScanner – less than 15% (with 250 connections)

www.ibsurgeon.com

Page 15: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

15

Licensing

• Permanent per server – EUR 199/USD 299• For Tech Support – EUR 990/USD 1399 – Allows to setup up to 250 servers for 1 month each

• For ISV (run time bundles) – special prices and royalty agreement (no up front payments)

• Purchase here http://www.ibsurgeon.com/products/firebird_interbase/monitoring/FBScanner

www.ibsurgeon.com

Page 16: FBScanner: IBSurgeon's tool to solve all types of performance problems with Firebird

16

What next?Download trial http://www.ibsurgeon.com/download/FBScannerTrial.zip

Read feature matrixhttp://www.ibsurgeon.com/download/docs/fbscanner_feature_matrix_eng.pdf

Ask your questions:General – [email protected] ISVs – [email protected]

www.ibsurgeon.com