Jump to content

Benchmark Application


sjmiller

Recommended Posts

I am a software engineer with a company, where my responsibility is maintaining and further "developing" a software package called KnowledgeTree for a large customer base.  I'm finding that I'm not too fond of this software, as it is extremely intensive on the database, and is poorly coded to increase in database activity based off of how many members are registered through the software.  I am in need of a good database optimization for this, and need to configure it, as every ounce of "umph" that I can give it can only help make it anything better than unbearable.

 

The problem is, I am not too spun up on ways to benchmark a pre-built tool that has so many excessive queries being made to the MySQL database.  I've benchmarked hand-made applications by going through and pinpointing the problematic database queries and such, but nothing that is already built and ready to run.  I would like to be able to pinpoint and optimize the configuration of the database, but I don't really know how to gauge its performance when it is a full fledged application.  Are there any tools that would assist me with benchmarking page loads, that I could use as a measure to determine such server variables as the query cache size, or the key buffer size?  Essentially, what I think would be optimal is to benchmark the application (specifically, full page loads via URLs), get a baseline set of numbers, then go in and start tweaking the buffers and caches on the database (amongst other things), and see a response on the next benchmark, helping me determine what would be most optimal.

 

I've attempted to use Apache's benchmark tool, but I'm not noticing any fluctuation in performance when I go to the extreme with things like query caching (albeit with caching, it would only be noticeable on the first and second page load), or key buffers, limiting them to almost nothing, then blowing them wide open.  What other tools would be of use in a test like this?

 

Thanks for your advice.

Link to comment
Share on other sites

I'm finding that I'm not too fond of this software, as it is extremely intensive on the database, and is poorly coded to increase in database activity based off of how many members are registered through the software.

 

A programmer with a consciousness, I respect you.

 

You can use XDebug to profile the application, for some pages (database intensive) it may be beneficial to add caching. You could introduce a Zero Query Policy (no queries on landing pages) and you can find slow queries in the mysql log or by asking mysql his query execution plan (EXPLAIN) and optimize from there. You also have Apache Bench (ab.exe in the Apache directory) and MySQL itself provides tools from it's website.

 

There are literally tons of tools to benchmark your application including network & hardware.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.