Category Archives: Company Services

Anatomy of a Performance Review

A lot of firms come to us with a specific scalability problem. “Our user base is growing rapidly and the website is falling over!” Or they’re selling more widgets, “Our shopping cart is slowing down and we’re seeing users abandon their purchases”. These are real startup growing pains, so what to do?

We like to take a measured approach with these types of challenges, so we thought it would be helpful to run through a hypothetical scenario and see how we work.

Related: Why website speed is crucial to business

Having trouble with scalability? Check out our 5 things toxic to scalability piece.

1. Contract outline

First we talk on the phone, or meet face to face and discuss what’s happening. Do you have one page that’s problematic? Is the website slow during certain hours? Or are you seeing erratic behavior and can’t point to a single source?

From there we outline a course of action, based on:

o talking with team, devs & architects
o reviewing systems first hand
o identifying bottlenecks and trouble spots

This with this outline we’ll include an estimate of the number of work days it’ll take to complete. We’ll then send that back to you for review, exchange a deposit and set a start date.

2. Meet team & discuss architecture

Next we’ll meet the team and review the problems in more technical detail. If you’re in NYC we’ll probably make a stop into your offices and have a warm meet & greet. If you’re located further afield we can either meet over a skype call, or arrange for us to travel to your location for the start of the engagement.

3. Measure current throughput

In order to get a sense of the current state of the systems we’ll measure some system metrics. This could be load average or queries per second or other MySQL internal metrics. We’ll also look at some business metrics such as speed of an ecommerce checkout, or a speed test on a particularly slow page.

These metrics are designed to create a baseline of where things are before any changes are made.

[quote]Measuring both business and system metrics before and after changes, allow a rough ROI measurement to be done. This goes a long way towards justifying the expense of a performance review, current and future.[/quote]

4. Review systems, configurations & setups

Next we’ll jump on the various systems and review configurations. This includes webservers, caching servers and the database servers as necessary. We’ll review memory settings, important configurations, all the dials and switches.

Along with this we’ll also review development and architecture. Are you using Java with Hibernate a popular ORM? Or perhaps CakePHP? Are you writing custom SQL code? Are developers up to speed with EXPLAIN and query profiling? For that matter is code in version control?

Just looking for a DBA? Check out our MySQL Hiring Guide.

5. Report on actionable advice & findings

Perhaps the most essential and useful part of an initial engagement is our overall findings and review report. We’ve found these are very valuable to firms as they speak to a lot of folks up and down the business hierarchy. They speak to management about high level architectural problems and structural or process related challenges. And they can speak well to developers and operations teams as they provide a third party birds eye view of day-to-day activities.

Take a look at a sample report we’ve prepared for Acme StartUp, Inc.

6. Discuss which steps to move on

From here we’ll meet again. In particular we’ll review the actionable advice. Some changes will be low cost, requiring no downtime, while others might require a downtime window. Further medium term changes might require refactoring some code and deploying. Typically the larger longer term architecture changes will also be outlined.

Based on time & costs, we’ll decide together which changes are a priority. Obviously we’ll want to move on low hanging fruit first, and move forward from there.

Want to learn more about us? Check out our testimonials and our about page.

7. Take action on agreed changes

Once we’ve decided which changes we’ll make, we’ll schedule downtime windows as needed and make the changes to systems. From there we’ll carefully observe everything for stability, and no adverse affects.

8. Measure throughput again

Based on the throughput measurements in #3 above, we’ll perform those same benchmarks again. We’ll check low level system metrics, along with higher level business & user based throughput. Both of these are important as they can provide different perspectives on changes made.

For example if the system metrics improve markedly, but the business or user metrics do not, we know are change had some affect on overall performance, but likely we did not identify the one which directly is causing the business slowdown.

9. Summarize findings & performance gain

In the most likely case they both improve markedly, and we can measure the improvements from our entire process of performance review.

This can be helpful and measuring overall return on investment for the engagement. ROI is obviously an important exercise as we want to know that the money is well spent.

10. Document solutions & recommendations

The last step is to document what we did and what we learned. This allows us to carry forward that knowledge and keep applying it to the development and operations process. This allows the business to continue adding value from the engagement even after it’s completed.

Read this far? Grab our newsletter.

About

Heavyweight Internet Group is a boutique technology consulting firm operating in New York City. In business for over ten years, we have weathered the dot-com storm, continuing to provide our clients with the very best expertise. Concentrating on client needs & their business bottom line, we let needs and value drive technology solutions, not the other way around.

Our many years in the business have brought us perspectives and experience which we bring to the table with every new client. The value is obvious. What’s more we provide individual attention and focus to each client, another tremendous benefit.

Selected Clients

Active Reasoning

Advance Publications

American DBA Online

American Law Media

Ariane Anthony Dance Co.

Community Connect, Inc.

Conducive Corporation

Cyber Logics, Inc.

Database Journal

Dotomi, Inc.

DownloadCard, Inc.

DBA Online

DBA Zine/BMC Software

Efferent Corp.

EFY Group – New Delhi, India

Far Countries, Inc.

firmView, LLC.

GL Trade, Inc.

IN2, Inc.

Infovest21, LLC.

Inside Cinema

Integrated Media, Inc.

Independent Oracle User Group

Kaplan, Inc.

Marketing Technology Solutions

Method Five, Inc.

MIDORINOSHIMA

Missing Pixel

Money-Media, Inc.

NBC/iVillage – NeverSayDiet.com

NBC/BravoTV.com

Nechsi, LLC

Net Creations, Inc.

New York Oracle User Group

Oracle Technology Network

Physical Arts Center

Proteometrics, Inc.

Real Estate Online

Riptide Communications, LLC

Robichaux & Associates, Inc.

Solbright, Inc.

Starmedia, Inc.

Streamedia, Inc.

Susquehanna International Group

Timeout NY

TSI, Inc.

Wireless Generation

Workspeed, Inc.

Xceed Corp.

Success Story–Media and Entertainment Conglomerate

The Business

A website aggregating twitter feeds for celebrities, with sophisticated search functionality.

The Problem

Having been recently acquired by a large media and entertainment conglomerate, their traffic had already tripled.  What’s more they expected their unique pageviews to grow by 20 to 30 times in the coming six months.

Our Process

We worked closely with the lead architect and designer of the site to understand some of the technical difficulties they were encountering.  We discussed key areas of the site, and where performance was most lacking.

Next we reviewed the underlying infrastructure with an eye for misconfigurations, misuse of or badly allocated resources, and general configuration best practices.  They used Amazon EC2 cloud hosted servers for the database, webserver, and other components of the application.

The Solution

Our first round of reviews spanned a couple of days.  We found many issues with the configuration which could dramatically affect performance.  We adjusted settings in both the webserver, and the database to optimally maximize the platform upon which they were hosted.  These initial changes reduced the load average on the server from a steady level of 10.0 to an average of 2.0.

Our second round of review involved a serious look at the application.  We worked closely with the developer to understand what the application was doing.  We identified those areas of the application causing the heaviest footprint on the server, and worked with the developer to tune those specific areas.  In addition we examined the underlying database structures, tables and looked for relevant indexes, adding those as necessary to support the specific requirements of the application.

After this second round of changes, tweaks, adjustments, and rearchitecting, the load average on the server was reduced dramatically, to a mere 0.10.  The overall affect was dramatic.  With 100 times reduction in the load on the server, the websites performance was snappy, and very responsive.  The end user experience was noticeably changed.  A smile comes on your face when you visit your favorite site, to find it working fast and furious!

Results

The results to the business were dramatic.  Not only were their short term troubles addressed, as the site was handling the new traffic without a hick up.  What’s more they had the confidence and peace of mind now to go forward with new advertising campaigns, secure in the knowledge that the site really could perform, and handle a 20 to 30 times increase in traffic with ease.

Success Story – Location Based Nightlife Business

The Business

A location based nightlife and entertainment company built on mobile smartphone platforms.

The Problem

The website was sluggish, and performance of the mobile applications were running slowly.

Process

We worked closely with the CTO and development team, discussed sticking points focusing on relevant areas of application and infrastructure.  We drilled down to the different components of the application, such as the network, cloud hosting (amazon EC2), webservers, load balancers, and backend database.

We identified that the heaviest components were the complex mechanisms and code used to calculate location itself.  Since this was an integral part of the service, users’ mobile devices would use GPS, identify their locations, and search the database for relevant venues and information around them.

Solution Options

We identified two possible solutions, one short term and one long term.

  1. Apply an advanced database indexing strategy which specifically addresses location based information.  By utilizing this technology, we would eliminate and vastly simplify the code being used to search for venues and information based on location.  Being the central component to the application, this would provide a dramatic boost in performance.
  2. Build a completely new and streamlined solution to the location searching functionality, by using square location areas, instead of the more intuitive circular location area.  Since users really just want information about venues around them, they likely don’t have a specific, precise, or mathematical idea of what “around” means.  Therefore a more loose definition can lend itself much better to computer database storage, and subsequent indexing of information.

Results

By implementing the short term plan, and performing further benchmarks, the business was able to release it’s new mobile application on the blackberry carousel store.  They were featured in the carousel store, highlighted as a new business bursting with exciting features and technology.  As a featured application, they received huge spike in volume of ten times their previous average.

With the changes put in place, they sailed through this challenging period smoothly, and with confidence that their application was performing beautifully.

Their long term rollout of the more general high speed solution has been an even greater success, ironing out remaining bottlenecks, and allowing the application to scale and grow rapidly as their mobile user and customer base  expands.

Database Heavy Lifting – Consulting and Professional Services

heavy_bounce

Heavyweight Internet Group provides Professional Services and Consulting around database technologies. Our value add is aggressive pricing and personal service. Call us at 212-533-6828.

Services include:

  • MySQL  database setup and administration
  • MySQL  tuning and optimization of problem areas
  • Correcting degraded MySQL  application performance
  • 24×7 remote support services
  • Stress testing web applications & speedup

20 years of professional experience, excellent client facing skills, attention to detail, and a focus on your business needs.

MySQL Consulting in New York

Heavyweight Internet Group provides Open Source Database Professional Services and Consulting to fortune 500 companies. With our low overhead, and focused specialty we can offer very competitive prices. Our value add is simple: aggressive pricing, and personalized service. Contact us for details at 212-533-6828. Our services include:

  • New MySQL database setup and administration
  • MySQL & Postgres tuning of problem areas
  • Correcting degraded MySQL application performance
  • Remote DBA – 24×7 Support Services
  • High profile deployments & Migrations to EC2
  • Running MySQL in the cloud, on Amazon Web Services, EC2 & EBS
  • Migrating Web Applications to Amazon RDS
  • Tuning and optimizing challenges for open-source databases and Amazon RDS

We have 20 years of experience working on Open Source databases in all types of industries including banking, finance, education, entertainment, media and government. Our consultants are experts in the field, with published material including books, online and print magazine articles, and lectures. Please also feel free to browse our business newsletter archives. Our monthly newsletter discusses business best practices in Oracle consulting, and Open Source integration. We are conveniently located in Rockefeller Center, and are available for onsite meetings at your New York City offices.

Oracle Expert – New York City

Looking for a top-flight DBA?  We are subject matter experts in Oracle and MySQL, especially integrating these database platforms with open source technologies.

We’ve always been about open-source technology, integration & mixing commercial technologies such as Oracle with open-source ones such as MySQL and Linux. As open-source becomes mainstream, and more shops consider moving critical services to these technologies, we continue to provide assistance and expertise for these transitions. Whether it is performance testing and tuning, benchmarking, high availability or recovery, we can provide services for your specific needs.

call_quote

MySQL Optimization

Experiencing performance problems with your MySQL 4.x or 5.x database? We can help. We have over a decade of experience tuning sophisticated multi-tier web applications. This allows us to identify and pinpoint problems quickly, drilldown to the relevant application and SQL, and sift out the problem code.

All this makes your applications run faster, and your customers happy!

call_quote

Emergency Oracle Support

Encountering a problem with your Oracle systems? We’re available for emergency support services, and are conveniently located in Manhattan. We can arrange payment via Paypal, as a deposit for a quick start on an urgent matter.

  • High Availability Issues
  • RAC (9i/10g) Problems
  • Failover to Standby Database (DataGuard Product)
  • Tuning Web Application Performance Problems
  • Troubleshooting Difficult Multi-tier Applications
  • Speeding Up Reports, and Performance of Data Warehouse Applications
  • Fixing Your Internet/Intranet Plumbing
  • Unix + Database Administration, Backups, Surveying, Auditing, etc