users
1, 5 or 10
In order to have a relevant set of data and to be able
to dismiss abnormal results, each combination of
values for the independent variables has been
repeated 2000 times. Thus, we have executed 2000
create operations, then, 2000 reads and so on. So, the
behavior of the design with the CRUD operations
has been studied in each infrastructure (the two
machines used in the study) with a different number
of users (3 different sets) and by using different set
of attributes (6 options) and persistence types (3
options).
3 FIRST ANALYSIS
Given the great amount of data and the existence of
different combinations for the testing groups, all the
results have been represented by means of a 5-
dimension ROLAP (Konstantinos Morfonios, Stratis
Konakas, Yannis Ioannidis, and Nikolaos Kotsis.,
2007) cube. Those 5 dimensions are: operation type
(C, R, U, D), persistence type (data base, session, or
application), attribute number (1, 10, 20, 30, 40, 50),
simultaneous user number (1,5), deployment
machine (AWS t2.micro, or AWS t2.small) and
theirs respectably RDS storage using PosgreSQL
9.5.4 with 20GB (AWS db.t2.micro, or db.t2.small).
Once finished the different tests, all the resulting
data have been processed by R to assess their
reability/confidence, i.e., how similar the execution
times of the same test throughout its 2.000
repetitions are. We have applied k-means
(MacQueen, J, 1967) to identify that the behavior
was homogeneous in the great majority of the data
(>91%) and to be able to discard not relevant
outliers. Therefore, given a homogeneity coefficient
greater than 91%, we can derive a relevant mean
execution time for every operation. Then, these
mean times can be used in the design phase of an
application to estimate its production costs. By
example, the Tables 1, 2, 3 and 4 show the mean
times (in miliseconds) for the CRUD operations
considered, given 1 user.
Table 2: Mean execution times CREATE.
CREATE Attributes 1 10 20 30 40 50
Application_small 0,72 0,93 0,64 1,00 1,02 1,09
Session_small 0,82 0,94 1,26 0,82 0,89 1,00
Persistent_small 23,76 98 190,53 273,89 264,91 304,00
Application_micro 0,69 1,91 1,96 2,00 2,08 2,60
Session_micro 0,75 1,26 1,88 2,01 2,24 2,77
Persistent_micro 32,58 330,89 332,09 361,58 471,87 620,99
Table 3: Mean execution times READ.
READ Attributes 1 10 20 30 40 50
Application_small 0,00 0,00 0,00 0,00 0,00 0,00
Session_small 0,00 0,00 0,00 0,00 0,00 0,00
Persistent_small 1,10 1,20 1,22 1,30 1,32 1,36
Application_micro 0,29 1,37 1,45 1,42 1,43 1,49
Session_micro 0,65 1,32 1,41 1,49 1,50 1,60
Persistent_micro 0,89 1,09 1,09 1,18 1,27 1,38
Table 4: Mean execution times UPDATE.
UPDATE Attributes 1 10 20 30 40 50
Application_small 5,21 14,60 17,52 23,83 29,28 35,43
Session_small 7,11 16,32 18,69 25,43 32,72 38,27
Persistent_small 18,62 79,26 102,54 176,55 216,88 220,98
Application_micro 3,22 209,58 271,14 272,82 339,31 498,04
Session_micro 2,92 217,25 265,79 289,68 329,91 498,75
Persistent_micro 22,37 169,28 197,04 242,97 289,94 307,57
Table 5: Mean execution times DELETE.
DELETE Attributes 1 10 20 30 40 50
Application_small 0,00 0,98 1,05 1,05 0,99 1,10
Session_small 0,00 1,03 1,08 1,08 1,10 1,11
Persistent_small 31,22 101,44 124,00 134,96 151,72 275,00
Application_micro 1,01 12,47 10,18 11,55 22,77 36,63
Session_micro 1,10 12,51 10,00 11,41 22,76 36,64
Persistent_micro 41,18 303,30 314,36 372,20 416,23 443,78