- What are the system requirements?
- Which MySQL Server versions are supported?
- Are any server changes required?
- Where do I install the software?
- Is it free?
- How do I register the software?
- How do I register the software without internet access?
- What user grants are required?
- How much load does Jet Profiler add to the target database?
- How can I generate load on my target database server?
- How accurate are the results?
- Can I install the software on more than one computer?
- Where is the license agreement?
- Do you have a reseller or affiliate program?
What are the system requirements?
Jet Profiler is available for Windows, Mac and Linux. It should generally run on any platform capable of running Java 12+. You install it as a normal application on your own computer (e.g laptop). System requirements:
- 1 GB of computer memory or more
- 200 MB of available hard drive space or more
- 1024 x 768 pixels screen resolution or better
- Internet access recommended (for license registration and software updates)
Which MySQL Server versions are supported?
Jet Profiler is compatible with the following MySQL server versions:
- MySQL Enterprise, MySQL Network, MySQL Pro versions: 3, 4 and 5
- MySQL Community versions: 3, 4 and 5
Are any server changes required?
No. Jet Profiler does not require any changes made to the target MySQL database server (such as configuration changes, patches or extra software).
Where do I install the software?
Jet Profiler is a client desktop application. You install it on your own computer (e.g. laptop) and connect it to wherever your MySQL database is. You do not need to install anything on the MySQL database server.
Is it free?
You can download the free version which contains most features. For more features, you can purchase the professional version. Click here for more information on features and pricing.
How do I register the software?
- Purchase a license here. The license registration key will be emailed to you.
- Start Jet Profiler.
- You will be asked to enter a registration key.
- Paste the registration key you received by email into the form. Click OK.
- The software will now contact a license server in order to register the license. Internet access is recommended. For offline registration, see below.
- Restart Jet Profiler.
How do I register the software without internet access?
Internet access is recommended, but not required. For offline registration, do as follows:
- Follow the steps 1-5 above (How do I register the software?).
- You should get a message that the registration failed because the server couldn't be contacted. Choose Manual registration.
- Copy the Manual Registration Code Block (mrcb) from the text box and send to us.
- We will create a license and email it back to you.
- Paste the license in the next text box.
- You will be asked to restart the application. Your software is now registered.
Please note that software updates will not work without internet access. Please stay tuned to newsletters for update information. You can install updates manually by uninstalling your current version of Jet Profiler and downloading and installing a new version. The registration key and license text can be reused.
What user grants are required?
Jet Profiler needs some grants to be able to profile the target database. The grants are USAGE, PROCESS, SELECT and SHOW VIEW privileges on *.*. This can be a separate account with these exact privileges, or it can be the root account. The most secure option is to create a separate account. To create a separate account you can run the following SQL statement:
GRANT USAGE, SELECT, PROCESS, SHOW VIEW ON *.* TO [email protected]’%‘ IDENTIFIED BY ‘password‘;
Be sure to replace password with a safe password. You might also want to restrict the host by changing % to the ip address of the machine where Jet Profiler is running. After you have created this user, you can set these details in File -> Edit connection settings.
How much load does Jet Profiler add to the target database?
Jet Profiler typically causes very little overhead. We normally see Jet Profiler adding an overhead of about 1% of the total db resources. This can be adjusted by changing hte polling interval in recording settings. You can expect a linear increase / decrease, so if polling once per second costs 1%, and you change to poll 10 times per second, the overhead should be around 10%.
However, we cannot guarantee that it doesn’t take more resources during heavy load. In some extreme setups (in particular when using innodb buffer pools of many gigabytes), it has been shown that there can be a severe performance hit when issuing the SHOW STATUS command, see this link. Jet Profiler uses this command. If you are concerned about this, we suggest that you only run Jet Profiler in non-critical environments, such as development or test environments, and that you start out with a long polling interval. Jet Profiler will not take any responsibility for performance problems related to running the software.
You can monitor how much the profiling costs by clicking the COST button. The cost is estimated by measuring the total roundtrip time for all queries issued during one second, excluding network round-trip time. A mysql ping command is used as baseline for the network round-trip time.
How can I generate load on my target database server?
- ApacheBench, ab, is a free command-line based tool to stress test web servers. You can point to a web page on your site and make it access it many times in a row. While doing that, watch your database load to see the query patterns for that page. Example:
This will load that page 1000 times using 5 parallel threads. Ab comes with the Apache HTTPD web server.
ab -n 1000 -c 5 http://www.somesite.localhost/index.php
- ReadyApi is a free graphical tool which is easy to use and versatile for generating tests of web sites and SQL using JDBC.
- JMeter is a free graphical tool capable of simulating web traffic and load. It can also generate raw SQL queries using JDBC.
- Curl-Loader is also free and written in C.
How accurate are the results?
Jet Profiler is based on statistical observations. Every second, it will monitor the target database and gather lots of key statistics, database status and running processes. Over time, these statistics will give a very good estimate of what the database is most often busy doing. The longer the time period, the more accurate.
But some limitations exist. Mainly, Jet Profiler cannot weigh the relative cost of two running queries other than by execution time and status. It cannot see how much CPU, disk or network a query consumes. You should take this into account and not only look at the top lists, but also think about what your bottleneck is (CPU, disk or other) and reason about which queries you think is most likely to cause that load.
CPU and disk figures could only be gathered by using extensive logging inside the server, which could degrade performance substantially. Since Jet Profiler causes very little load (see above), we believe the limitations above are a fair trade-off.
Can I install the software on more than one computer?
Yes, a license entitles you to use the software on two computers. This allows for flexibility so you can install it on both a laptop and a desktop computer if you like. During license registration, the license is tied to your computer hardware, so you will not be able to install on more than two computers. If you wish to move the license to a new computer, please contact us.
Where is the license agreement?
The current license agreement for Jet Profiler for MySQL can be viewed here. For perpetual pro licenses (available before 2012-11-30), click here. For subscription-based licenses (available before 2009-08-29), click here.
Do you have a reseller or affiliate program?
Yes. You can become an affiliate and get commission for the sales you generate. More info