Google performance testing also using open source!
Posted by joychester on October 9, 2007
网上关于Google公司进行性能测试的心得的视频是Goranka Bjedov在伦敦一次论坛中录下的,不过那么好的视频实在是声音太小,所以效果大打折扣。。。。。
不过今天在InfoQ上看到了她关于性能测试的帖子,仔细进行拜读,发现很多共鸣(哈哈),很高兴能和这位大师on the same page,lol
现在把他的文章概括如下:
what performance engineer usually feel:
1. fear :when the performance job is coming in
2.inadequacy: when we are not getting anything done
3.confusion:what should i do next
what performance testing should contain:
Speed- does the system respond quickly enough
capacity-is the infrustructure sized adequately
scalability-can the system grow to handle future volumes
stability-does the system behave correctly under load/for a long time
to do performance as a service:
she is more focus on service side and no worry about the client side behavior
she think that should be function QA’s work(this is a big difference between steven sounders and Bjedov or between Yahoo! and Google)
Can not do everything accurately, just 90% important information by applying 10% of total effort and time
There is no fixed answer on your performance, and we can not wait for everything to be clear, or spend long time to find what’s the relationship between each two or each three factors
Create benchmarks:
Got current usage pattern or user modeling of application,ideally
run the benchmark with different loads and investigate its behavior, including:
– Which transactions are taking most of time? (losing index)
– Which transactions seem to get progessively worse with increasing load?(create meeting, list page)
– Which transactions seem unstable (create meeting using same account)
– repeating testing until convinced I am observing real system behavior(consistently up?)
Create new benchmark with dev and run the benchmark every day
so we can find out the problem as soon as possible, ideally the next day
we can easily find a code change that has impacted performance in an unacceptable way
When find an issue that can not be explained or understand with performance tests
here comes the performance profiling and tuning activity
(you should learn to do isolation work, step by step)
Open source tools
Jmeter,Google is using, Me too:)
Monitoring your service during performance testing(Minimun SET)
CPU%
Memory/GC%/Heap graph
I/O utilization
Network utilization, eliminate your network factor as much as you can. It can make things easier.
In addition:
Exploratory performance testing in the future
mike kelly:They open a browser while a test is running and they see what the user experience is for them while the application is under load.