Choose the right instance type (# VCores/RAM/local storage) ... .com/content/www/us/en/architecture-and-technology/turbo
Performance Measurement AWS Bertram Dorn / Jan Metzner Solutions Architects Amazon Web Services Germany GmbH Steve Paper Technical Account Manager Intel Corporation (UK) Limited © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
Agenda • • • •
Why and Where to look at Measurements Theory and Practice Performance on Intel
The Situation in Front of the Browser
The Timing
Web Application dt Application
ACK
Push with Page
Push with Get
ACK
SYN ACK
SYN
DNS Responce
DNS Lookup
DNS Subsystem
ACK
dt First Data
Browser Process
Areas for Performance Improvements • Systems Platform (CPU/RAM/IO) • Architecture optimization • Source Code optimization
Systems Platform • Use load tests to know which type of infrastructure you need • Consider horizontal scaling instead of running one big machine • EC2 performance considerations: – Choose the right instance type (# VCores/RAM/local storage) – If you need IO performance on the EBS volumes use PIOPs together with EBS optimized instances -> you can scale the PIOPs on the fly if needed – If you need Network IO performance use high IO instances and/or horizontal scaling
Architecture optimization • •
Use the right architecture for your use case Shift the load around –
•
Add a caching layer/nosql layer where needed
most of times some aws service can scale and handle the load more effectively on the performance and also on the pricing – – –
e.g. use s3/cloudfront for static content use an Elastic Load Balancer instead of a homegrown Loadbalander use a sqs queue to buffer the write to your db
Source Code optimization •
add performance marks (not cost intensive) inside your code and measure them - be careful the measured time is not cpu tim so this is just a hint – – –
•
push the data to CloudWatch more insight what happens to a production system use unit tests that create a performance test for the nightly builds -> direct feedback that the performance has changed in your code
test specific performance situations with integration tests to see a more complete picture
Ideal SMP
• MEAT=Middle Estimated Answer Time • MAAT=Maximum Argumentable Answer Time • Answer Time > MAAT = DOWN
Scaling Efficiency
Example – A
Example – B
Example – suboptimal
Intel Technology enhanced EC2 Instances EC2 instances with Intel® processors provide additional features that impact your workload: Intel® AES-NI1 – Intel processors that support these new encryption instructions allow you to enable encryption for enhanced data security without paying a performance penalty. Intel® AVX – Get dramatically better performance for highly parallel HPC workloads such as life science engineering, data mining, financial analysis, or other technical computing applications. AVX also enhances image, video, and audio processing. Intel® Turbo Boost Technology2 – Get a turbo boost of compute speed, accelerating performance for peak loads. Appropriate for traditional non-parallel workloads. Not all processor technologies are available in all instances (details on following slides).
1. Intel® AES-New Instructions (Intel® AES-NI) requires a system with an AES-NI enabled processor, as well as non-Intel software to execute the instructions in the correct sequence. AES-NI is available on select Intel® processors. For availability, consult your reseller or system manufacturer. For more information, see http://software.intel.com/en-us/articles/intel-advanced-encryption-standard-instructions-aes-ni/ 2. Intel® Turbo Boost Technology requires a system with Intel Turbo Boost Technology capability. Consult your PC manufacturer. Performance varies depending on hardware, software, and system configuration. For more information, see http://www.intel.com/content/www/us/en/architecture-and-technology/turbo-boost/turbo-boost-technology.html
Data Protection with Intel® AES-NI1
Efficient ways to use encryption for data protection
1. Intel® AES-New Instructions (Intel® AES-NI) requires a system with an AES-NI enabled processor, as well as non-Intel software to execute the instructions in the correct sequence. AES-NI is available on select Intel® processors. For availability, consult your reseller or system manufacturer. For more information, see http://software.intel.com/en-us/articles/intel-advanced-encryption-standard-instructions-aes-ni/
Intel® AVX AVX (Advanced Vector Extensions) Doubles the size of number of bits used in a SIMD instruction from 128-bits to 256-bits. By doubling the operand size a given floating point instruction will now be able to execute twice as many floating point operations per clock. Adds new instructions to take advantage of the new register size Creates a 3-operand non-destructive SIMD instruction.
Intel® Turbo Boost Technology2 Intel® Turbo Boost Technology 2.02 automatically allows processor cores to run faster than the rated operating frequency if they’re operating below power, current, and temperature specification limits.
2. Intel® Turbo Boost Technology requires a system with Intel Turbo Boost Technology capability. Consult your PC manufacturer. Performance varies depending on hardware, software, and system configuration. For more information, see http://www.intel.com/content/www/us/en/architecture-and-technology/turbo-boost/turbo-boost-technology.html
Performance comparisons*
3.7x faster using Intel® AES-NI http://www.intel.com/content/www/us/en/architecture-and-technology/advancedencryption-standard--aes-/aes-ni-ecosystem-update.html
*See Backup for configuration details
92% faster with Intel® AVX
Instances with All Three Intel® Xeon® Processor Technologies
Thank You Bertram Dorn / Jan Metzner Solutions Architects Amazon Web Services Germany GmbH Steve Paper Technical Account Manager Intel Corporation (UK) Limited
3.7x faster using Intel® AES-NI*
http://www.intel.com/content/www/us/en/architecture-and-technology/advancedencryption-standard--aes-/aes-ni-ecosystem-update.html
*See Backup for configuration details
92% faster with Intel® AVX*
*See Backup for configuration details
Intel® AES-NI Performance notice
Intel AVX Performance notice