Performance

Páginas: 18 (4460 palabras) Publicado: 24 de agosto de 2011
Doi:10.1145/1810891 . 1 8 1 0 9 0 9

Article development led by queue.acm.org

Improving the performance of complex software is difficult, but understanding some fundamental principles can make it easier.
BY CaRY miLLsaP

thinking Clearly about Performance,
Part 1
When i JOined

Oracle Corporation in 1989, performance—what everyone called “Oracle tuning”— was difficult. Only a fewpeople claimed they could do it very well, and those people commanded high consulting rates. When circumstances thrust me into the “Oracle tuning” arena, I was quite unprepared.
Recently, I’ve been introduced to the world of “MySQL tuning,” and the situation seems very similar to what I saw in Oracle more than 20 years ago. It reminds me a lot of how difficult beginning algebra seemed when I wasabout 13 years old. At that age, I had to appeal heavily to trial and error to get through. I can remember looking at an equation such as 3x + 4 = 13 and basically stumbling upon the answer, x = 3. The trial-and-error method worked—albeit slowly and uncomfortably—for easy equations, but it didn’t scale as the problems got tougher— for example, 3x + 4 = 14. Now what? My problem was that I wasn’tthinking clearly yet about algebra. My introduction at age 15 to teacher James R. Harkey put me on the road to solving that problem. In high school Mr. Harkey taught us what he called an axiomatic approach to solving algebraic equations. He showed us a set of steps that worked every time (and he gave us plenty of homework to practice on). In addition, by executing those steps, we necessarily documentedour thinking as we worked. Not only were we thinking clearly, using a reliable and repeatable sequence of steps, but we were also proving to anyone who read our
55

sE Pt E Mb E r 2 0 1 0 | vo l . 5 3 | n o. 9 | C o m m u n i C at i o n s o f t he aCm

practice
work that we were thinking clearly. Our work for Mr. Harkey is illustrated in Table 1. This was Mr. Harkey’s axiomatic approach toalgebra, geometry, trigonometry, and calculus: one small, logical, provable, and auditable step at a time. It’s the first time I ever really got mathematics. Naturally, I didn’t realize it at the time, but of course proving was a skill that would be vital for my success in the world after school. In life I’ve found that, of course, knowing things matters, but proving those things to other peoplematters more. Without good proving skills, it’s difficult to be a good consultant, a good leader, or even a good employee. My goal since the mid-1990s has been to create a similarly rigorous approach to Oracle performance optimization. Lately, I have been expanding the scope of that goal beyond Oracle to: “Create an axiomatic approach to computer software performance optimization.” I’ve found thatnot many people like it when I talk like that, so let’s say it like this: “My goal is to help you think clearly about how to optimize the performance of your computer software.” What is Performance? Googling the word performance results in more than a half-billion hits on concepts ranging from bicycle racing to the dreaded employee review process that many companies these days are learning toavoid. Most of the top hits relate to the subject of this article: the time it takes for computer software to perform whatever task you ask it to do. And that’s a great place to begin: the task, a business-oriented unit of work. Tasks can nest: “print invoices” is a task; “print one invoice”—a subtask—is also a task. For a computer user, performance usually means the time it takes for the system toexecute some task. Response time is the execution duration of a task, measured in time per task, such as “seconds per click.” For example, my Google search for the word performance had a response time of 0.24 seconds. The Google Web page rendered that measurement right in my browser. That is evidence to me that Google values my perception of Google performance. Some people are interested in...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Performance
  • Performance
  • Performance...Qué?
  • PERFORMANCE
  • Performance
  • performance
  • Performance
  • performance

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS