MySQL, LAMP And Drupal Performance Optimization Consulting

Everita provides a comprehensive consulting service focused on optimizing the performance of MySQL and LAMP stacks. That's Linux, Apache, MySQL and Perl, PHP or Python. Or any other variation you care to throw at us: especially Drupal.

We can speed up your application.


Speeding Up Web Page Delivery And Rendering Times

No matter how much bandwidth you have, and how powerful your servers are, if there are many different elements on a page and those elements aren't correctly optimised, merged, orderered and compressed browser delivery and rendering times will suffer.

Typical Problems

  • A CPU-bound application
  • Apache serving static content
  • Difficulty taking backups with mysqldump
  • Guidance needed to tune my.cnf
  • Heavy OS context-switching
  • InnoDB vs. MyISAM
  • Long running queries
  • Mis-configured or missing indexes
  • MySQL crashing
  • MySQL mutex contention
  • Not compressing web-traffic
  • Out of memory
  • Poorly crafted queries
  • Performance dropping off with multi-core/cpu systems
  • Spoon-feeding users on slow connections
  • Sub-optimal use of caching
  • Table locking
  • Too many concurrent connections
  • Too many elements on a page
  • Too many writes for replication
  • Unable to take hot-backups

Everita understands these issues and in many instances will have your website appearing appreciably faster without having to resort to extra bandwidth or hardware.

Real-World Measurement Of Performance

With tools like Jiffy it's easy for Everita to measure the real-world performance of your web pages from a users' perspective. You can see how long it takes for your page to render for a user anywhere in the world helping you make an informed decision regarding performance.

Improving the efficiency of the pages you deliver can result in substantial savings and will provide a vastly superior user experience. While being cost effective to implement all too often it's overlooked.

Tuning MySQL For Your Application

If your database can fit into memory then the vast majority of your queries should be near-instant: MySQL shouldn't be a bottleneck. Whether it does or not we can show you how to tune and optimise your server setup and, if necessary, craft your application and its queries to use MySQL optimally.

Part of our aim is to aid in scaling MySQL and, in the first instance at least, reduce the need to resort to replication with the additional hardware and inherent problems it can bring. Should you need to run across multiple hardware instances we can show you how to shard your data and, if necessary, replicate it.

There are a myriad of reasons why bottlenecks may occur. Here are three of the more common that we comes across:

  • Queries that don't use indexes: these cause MySQL to scan entire tables in order to generate a result placing unnecessary stress on your disk system.
  • Poorly crafted queries: queries — for example — that have MySQL return its results in a random order suffer a considerable performance penalty. It's usually best to move this logic into your application and out of the database.
  • Lock Contention: When using MyISAM any long running select will prevent any inserts or updates to the table in question taking place. This in turn will prevent any further selects from being processed until these updates are completed. A performance disaster: the ability to perform queries in parallel is denied. Row-level locking and therefore InnoDB may be the solution.

Replace Apache To Gain Memory And Stability: Nginx and Cherokee

Nginx is a little known high-performance webserver which is an efficient replacement for Apache. It consumes relatively little memory while being able to serve thousands of simultaneous requests in a stable manner. Everita can show you how to use Nginx and other light-weight and event-driven web servers like Cherokee to your advantage.

Memory is still an expensive commodity on hosted servers. Fitting your MySQL database into memory is — in general — key to making your application fly. Don't waste it on your webserver unnecessarily. Apache is no longer the de facto webserver of choice.

Total Stack Support

It isn't just MySQL and LAMP components that we optimise. Our expertise covers file-systems, caching, kernels and hardware amongst others. Having built a number of systems from the ground up we understand which components work best together and how to get the most from them.

On Site Visits

While most of what we do can be done remotely — usually via SSH — we're happy to visit your site: no matter where you are in the UK. Sometimes it's preferable to work face-to-face.

So, How Much Will This Cost?

Our prices are dependent on the complexity of the task, which experts on our team are required, and your schedule. Happy to charge on an hourly basis, flexible on terms, we'll be able to tailor something to suit your individual needs.


Having MySQL performance issues?

We're experts at tuning MySQL and offer a MySQL performance consulting service.

LAMP stack not performing as you'd hoped?

Everita is experienced at getting the most out of your Linux, Apache, MySQL and Perl, PHP or Python setup. We're Drupal Experts.

Client Testimonials

Steve was knowledgeable and diligent in helping us identify application characteristics which were impacting MySQL's efficiency.

I would recommend him to anyone needing help optimising MySQL server and look forward to working with him in the future.

Richard Ainley
Performance Tester
WorkPlace Systems PLC

Next »

Subscribe

Enter your email address below to receive a very occasional message when something significant is published on the site.

You can unsubscribe at any time and we'll never share your address.

Contact Us

E: info@everita.com
L: Reading, United Kingdom

Linux & Mac Specialists

Images courtesy of Rowan Mersh