Skip to content
Rafael Dantas Justo edited this page Jul 12, 2014 · 5 revisions

Here you will find the most important performance tests of the Shelter system. There's also other performance tests of low layers of the system, but this tests bellow show more efficiently a macro vision of the system working. All performance tests can be executed in the "testing" directory inside the project.

Scan

The performance test is using a local DNS server that always answers with authority, but takes a time to answer, because it signs the zones on-the-fly for the RRSIG records. On the results bellow "#" represents the number of domains used in the round of scan and DPS is the number of domains per second that the system could process. For this results were used 400 concurrent queriers (go routines) each one with an input wait list that can store 100 domains. The hardware used was an Intel Core i7-2600 3.40GHz with 8GiB of memory, using the Ubuntu 13.10 (amd64) operational system. All the requests were sent to a local DNS server.

 #       | Total             | DPS  | Memory (MB)
----------------------------------------------------
 10      |        4.727656ms |   10 |           1.33
 50      |       21.922581ms |   50 |           2.44
 100     |       38.108105ms |  100 |           2.28
 500     |      1.063928826s |  500 |           6.36
 1000    |      1.094325568s | 1000 |           4.79
 5000    |      1.790971925s | 5000 |           8.84
 10000   |      9.532850519s | 1111 |           7.55
 50000   |     33.772397502s | 1515 |           9.78
 100000  |    1m27.57901475s | 1149 |          12.64
 500000  |   6m44.081205086s | 1237 |           9.24
 1000000 |  13m32.216240243s | 1231 |          19.04
 5000000 | 1h9m48.514012263s | 1193 |           9.25

REST Server

For this tests we started a local REST server with a MongoDB database, the idea is to check the time it takes to perform CRUD operations. On the results bellow "#" represents the number of domains used in the round of CRUD and DPS is the number of domains per second that the REST server could process. The hardware used was an Intel Core i7-2600 3.40GHz with 8GiB of memory, using the Ubuntu 13.10 (amd64) operational system. All the requests were sent to a local REST server.

Version 0.2

 #       | Operation | Total              | DPS  | Memory (MB)
-----------------------------------------------------------------
 5000000 | CREATE    | 1h16m50.188255368s | 1084 |           0.77
 5000000 | RETRIEVE  |   38m31.775841315s | 2163 |           0.85
 5000000 | DELETE    |   57m29.602715743s | 1449 |           0.74

Version 0.3

 #       | Operation | Total            | DPS  | Memory (MB)
---------------------------------------------------------------
 5000000 | CREATE    | 55m27.012647221s | 1502 |           1.56
 5000000 | RETRIEVE  | 23m45.161057086s | 3508 |           1.54
 5000000 | DELETE    |  42m5.386951627s | 1980 |           1.15