Eclat stands for EC2 Command Line Administrator Tool. It allows you to manage Amazon EC2 services from the command line, fast and easy. It does not require any resource-consuming libraries. It is written in plain C, depends only on libraries which are always installed on any decent system, and has a tiny memory footprint.
Amazon provides similar command line utilities in its
ec2-api-tools
package. So why use Eclat instead? The answer is
simple: Eclat performs about 100 times faster, uses 10 times less CPU
and requires 32 times less memory than ec2-api-tools
.
The table below summarizes the results of running various describe
commands on two distinct classes of Amazon instances.
Action | Real time | CPU usage (%) | Memory usage | ||||||
EC2 | Eclat | % | EC2 | Eclat | % | EC2 | Eclat | % | |
t1.micro | |||||||||
describe-addresses | 0:07.73 | 0:00.25 | 3.2 | 93 | 4 | 4.3 | 541.3 | 19.4 | 3.6 |
describe-instance-status | 0:31.78 | 0:00.39 | 1.2 | 98 | 28 | 28.6 | 538.3 | 19.7 | 3.7 |
describe-instances | 1:00.99 | 0:00.25 | 0.4 | 98 | 9 | 9.2 | 420.8 | 21.3 | 5.1 |
describe-tags | 0:12.26 | 0:00.45 | 3.7 | 98 | 51 | 52.0 | 541.6 | 20.2 | 3.7 |
describe-volumes | 1:01.46 | 0:00.39 | 0.6 | 90 | 5 | 5.6 | 378.6 | 20.2 | 5.3 |
Average | 0:34.84 | 0:00.35 | 1.0 | 95 | 19 | 20.3 | 484.1 | 20.2 | 4.2 |
m1.large | |||||||||
describe-addresses | 0:06.87 | 0:00.11 | 1.6 | 140 | 14 | 10.0 | 589.9 | 19.2 | 3.3 |
describe-instance-status | 0:06.75 | 0:00.12 | 1.8 | 143 | 12 | 8.4 | 611.8 | 19.5 | 3.2 |
describe-instances | 0:07.47 | 0:00.11 | 1.5 | 143 | 21 | 14.7 | 643.8 | 21.1 | 3.3 |
describe-tags | 0:07.82 | 0:00.10 | 1.3 | 139 | 19 | 13.7 | 654.7 | 20.1 | 3.1 |
describe-volumes | 0:08.26 | 0:00.10 | 1.2 | 129 | 18 | 14.0 | 654.0 | 20.1 | 3.1 |
Average | 0:07.43 | 0:00.11 | 1.5 | 138 | 16 | 12.1 | 630.8 | 20.0 | 3.2 |
The columns EC2
and Eclat
contain measurements shown by
ec2-api-tools
and Eclat correspondingly. Each %
column
shows the resource usage by Eclat relative to that of ec2-api-tools
.
There are no special requirements for the system where Eclat is to be run.
As the above table shows, it feels itself quite comfortably even in
conditions of extreme scarcity of resources, such as on t1.micro
instances.
There are only two prerequisites for building the package: Curl and Expat libraries.