Gen AI in Business - Global Trends Report 2024.pdf
About performance testing with NanoCloud
1. About performance testing
with NanoCloud
Artem Panasyuk
20/02/2014
Big Systems/Big Data Meetup, Moscow
Artem Panasyuk
20/02/2014
2. Why?
• Early design is a critical stage in product
development. Choices made here has major
influence on final product quality and price.
• Suppose development of a system that must
satisfy some performance requirements.
What is the right time to start performance
testing?
Big Systems/Big Data Meetup, Moscow
Artem Panasyuk
20/02/2014
3. How?
• K.I.S.S. - Keep It Simple and Straightforward
-- Apollo project
• "Premature optimization is the root of all evil"
-- Donald Knuth
• Use your time to design simple solution and
validate that it works rather then complex
with the belief that it will work.
Big Systems/Big Data Meetup, Moscow
Artem Panasyuk
20/02/2014
4. Performance vs. Functional
• Functional testing is an essential part of
software development lifecycle:
o Test written once continues to work in the future
o Always compatible with latest version of codebase
o Owned and maintained by the whole DEV team
o Toolkit is highly automated
o Approved/required by management
• What about performance testing?
Big Systems/Big Data Meetup, Moscow
Artem Panasyuk
20/02/2014
7. Performance vs. Functional
• Common situations with performance testing:
o Tests are written ad hoc and short-lived
o Codebase is way ahead
o Owned and maintained by dedicated team member
o Toolkit implies lot of manual work
o Management doesn't recognize benefits and can't
accept time consumption
• How we can improve this?
Big Systems/Big Data Meetup, Moscow
Artem Panasyuk
20/02/2014
8. Try to simplify toolkit?
• IDE
• NanoCloud
• Only Java libraries
ViNode node = cloud.node("remote-node");
RemoteNodeProps.at(node).setRemoteHost("longmrdfappd1.uk.db.com");
node.exec(new Runnable() {
@Override
public void run() {
System.out.println("Hello from longmrdfappd1.uk.db.com");
}
});
Big Systems/Big Data Meetup, Moscow
Artem Panasyuk
20/02/2014
9. Performance test with NanoCloud
Big Systems/Big Data Meetup, Moscow
Artem Panasyuk
20/02/2014
10. Solved with NanoCloud
•
•
•
•
•
Ad-hoc performance testing
NFR verification
Performance regression testing
Stress and failover testing
Sizing and capacity planning
Big Systems/Big Data Meetup, Moscow
Artem Panasyuk
20/02/2014
11. Development workflow
• Performance test driven development (PTDD):
o Write simplest functional code
o Benchmark it
o Improve based on test measurements
• Never optimize unless you can measure outcome
• Never speculate, measure and justify
Big Systems/Big Data Meetup, Moscow
Artem Panasyuk
20/02/2014