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


Published on

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.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

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

  1. 1. FBScanner<br />MR-machine<br />for Firebird <br />www.ibsurgeon.com<br />1<br />
  2. 2. Applications send queries to Firebird and receive results via TCP/IP…<br />www.ibsurgeon.com<br />2<br />
  3. 3. What if we will intercept and analyze SQL traffic?<br />www.ibsurgeon.com<br />3<br />
  4. 4. This is exactly what FBScanner does:<br />You can see and log:<br />- SQL queries (statements, parameters, plans)<br /><ul><li>Connections (IP/names, versions of clients, times)
  5. 5. Users (names, times, etc)
  6. 6. Transactions
  7. 7. Errors and their reasons (10054, 10038, etc)</li></ul>www.ibsurgeon.com<br />4<br />
  8. 8. …not only see and log, but take full control and manage it<br />Filter (allow/deny) connections by IPs/Names<br />Identify and kill zombie connections<br />Set priorities for Classic instances <br />Mark and manage everything:<br />users, connections, applications, SQLs statements , etc<br />www.ibsurgeon.com<br />5<br />
  9. 9. Tags are COOL!<br />Tags are special marks set by developer <br />in the SQL source code of applications<br />Tags help to quickly answer the following (very frequent) questions:<br />What program has launched this query? <br />What is the transaction for this query? <br />Where is this [very long] query from? <br />www.ibsurgeon.com<br />6<br />
  10. 10. Tags are not only COOL, they are easy!<br />Tags allow to assign readable identifiers (names) to Connections, Queries and Transactions. You just need to add these commentaries to the text of SQL:<br />SELECT COUNT(*) FROM RDB$DATABASE<br />/* FBSCANNER$CON_NAME=My_application;<br />FBSCANNER$TR_NAME=Read_only_transaction_N1;<br />FBSCANNER$ST_NAME=Customers_list_query; */<br />www.ibsurgeon.com<br />7<br />
  11. 11. FBScanner also can identify and log security breaches<br />Unsuccessful login attempts<br />100% logging of SQLs, connections and other traffic <br />queries are stored with information about their connection and transaction<br />All transactions are logged, even rolled back<br />8<br />Who? When? What?<br />www.ibsurgeon.com<br />
  12. 12. Scenarios<br />Let’s quickly walk through the most popular scenarios where FBScanner is used:<br />General monitoring<br />Connections’ management<br />Debug and test applications<br />Logging<br />www.ibsurgeon.com<br />9<br />
  13. 13. General monitoring<br />What server is doing? CPU/traffic/queries<br />Who is connected to this or that database?<br />Connections life time. Are any “zombies” at server?<br />Connections activity<br />What 20% queries create 80% of server workload?<br />www.ibsurgeon.com<br />
  14. 14. Connections’ management<br />Filter and close connections (kill and safe disconnect are supported)<br />Set priorities for connections (Classic only) – manually and automatically (rule-based)<br />www.ibsurgeon.com<br />
  15. 15. Debug and test applications<br />Error in transaction management<br />OAT (Oldest Active Transaction).Who lost the transaction?<br />Named connections, transactions, queries<br />Full control<br />Developer can see queries from own and third-party applications (closed sourced)<br />It does not depend on client libraries<br />Problem detection<br />Wrong client library version<br />Bad queries<br />www.ibsurgeon.com<br />
  16. 16. Logging<br />Connections<br />All information from FBScannerViewer<br />(database, login, role, IP,PID, etc)<br />Transactions<br />Parameterstpb_nnn<br />Result (commit or rollback)<br />Queries<br />SQL statement text with/without parameters<br />Start/end time, CPU Time<br />Wait time<br />Plans (extremely useful to find performance bottlenecks!)<br />www.ibsurgeon.com<br />
  17. 17. Overhead of FBScanner (with 250 connections)<br />FBScanner is ON<br />www.ibsurgeon.com<br />
  18. 18. Licensing<br />Permanent per server – EUR 199/USD 299<br />For Tech Support – EUR 990/USD 1399 <br />Allows to setup up to 250 servers for 1 month each<br />For ISV (run time bundles) – special prices and royalty agreement (no up front payments)<br />Purchase here http://www.ibsurgeon.com/products/firebird_interbase/monitoring/FBScanner<br />15<br />www.ibsurgeon.com<br />
  19. 19. What next?<br />Download trial <br />http://www.ibsurgeon.com/download/FBScannerTrial.zip<br />Read feature matrix<br />http://www.ibsurgeon.com/download/docs/fbscanner_feature_matrix_eng.pdf<br />Ask your questions:<br /> General – support@ib-aid.com<br /> ISVs – isv@ib-aid.com<br />16<br />www.ibsurgeon.com<br />