## Loading required package: data.table
## Loading required package: ggplot2

Number of executed orders by account and ReqPerSec

table(d$Account, d$OPS_Req, d$TestNumber)
## , ,  = 1
## 
##         
##            1
##   100011 300
      print("Top longest execution")    
## [1] "Top longest execution"
      print(d[order(-Total)][1:10,])
##     TestNumber Account OPS_Req OPS_Mean OPS_Sd   Order New Calculated1
##  1:          1  100011       1        1      0 5166002 603         391
##  2:          1  100011       1        1      0 5166003 114           5
##  3:          1  100011       1        1      0 5166220  30          20
##  4:          1  100011       1        1      0 5166198  21           9
##  5:          1  100011       1        1      0 5166081   8          31
##  6:          1  100011       1        1      0 5166025  17           6
##  7:          1  100011       1        1      0 5166163  12          19
##  8:          1  100011       1        1      0 5166004  25          12
##  9:          1  100011       1        1      0 5166010  19          10
## 10:          1  100011       1        1      0 5166101  19          12
##     Filled Calculated2 Total
##  1:     23          11  1028
##  2:      0           1   120
##  3:      0           0    50
##  4:      0          11    41
##  5:      1           0    40
##  6:      0          15    38
##  7:      7           0    38
##  8:      0           0    37
##  9:      3           4    36
## 10:      0           5    36
      print("Worst New execution")    
## [1] "Worst New execution"
      print(d[order(-New)][1:10,])
##     TestNumber Account OPS_Req OPS_Mean OPS_Sd   Order New Calculated1
##  1:          1  100011       1        1      0 5166002 603         391
##  2:          1  100011       1        1      0 5166003 114           5
##  3:          1  100011       1        1      0 5166220  30          20
##  4:          1  100011       1        1      0 5166004  25          12
##  5:          1  100011       1        1      0 5166154  21           6
##  6:          1  100011       1        1      0 5166198  21           9
##  7:          1  100011       1        1      0 5166191  20           7
##  8:          1  100011       1        1      0 5166010  19          10
##  9:          1  100011       1        1      0 5166101  19          12
## 10:          1  100011       1        1      0 5166025  17           6
##     Filled Calculated2 Total
##  1:     23          11  1028
##  2:      0           1   120
##  3:      0           0    50
##  4:      0           0    37
##  5:      0           0    27
##  6:      0          11    41
##  7:      0           1    28
##  8:      3           4    36
##  9:      0           5    36
## 10:      0          15    38
      print("Worst Calculated1 execution")    
## [1] "Worst Calculated1 execution"
      print(d[order(-Calculated1)][1:10,])
##     TestNumber Account OPS_Req OPS_Mean OPS_Sd   Order New Calculated1
##  1:          1  100011       1        1      0 5166002 603         391
##  2:          1  100011       1        1      0 5166081   8          31
##  3:          1  100011       1        1      0 5166269   5          28
##  4:          1  100011       1        1      0 5166170   9          27
##  5:          1  100011       1        1      0 5166211   6          22
##  6:          1  100011       1        1      0 5166059   3          21
##  7:          1  100011       1        1      0 5166220  30          20
##  8:          1  100011       1        1      0 5166257  10          20
##  9:          1  100011       1        1      0 5166163  12          19
## 10:          1  100011       1        1      0 5166016   7          18
##     Filled Calculated2 Total
##  1:     23          11  1028
##  2:      1           0    40
##  3:      0           0    33
##  4:      0           0    36
##  5:      0           0    28
##  6:      1           1    26
##  7:      0           0    50
##  8:      0           0    30
##  9:      7           0    38
## 10:      0           0    25
      print("Worst Filled execution")    
## [1] "Worst Filled execution"
      print(d[order(-Filled)][1:10,])
##     TestNumber Account OPS_Req OPS_Mean OPS_Sd   Order New Calculated1
##  1:          1  100011       1        1      0 5166002 603         391
##  2:          1  100011       1        1      0 5166151  14           5
##  3:          1  100011       1        1      0 5166163  12          19
##  4:          1  100011       1        1      0 5166049   8           7
##  5:          1  100011       1        1      0 5166116   9          10
##  6:          1  100011       1        1      0 5166113   9          18
##  7:          1  100011       1        1      0 5166047   5           9
##  8:          1  100011       1        1      0 5166219   7          10
##  9:          1  100011       1        1      0 5166010  19          10
## 10:          1  100011       1        1      0 5166182   5           8
##     Filled Calculated2 Total
##  1:     23          11  1028
##  2:     10           0    29
##  3:      7           0    38
##  4:      6           4    25
##  5:      6           0    25
##  6:      5           0    32
##  7:      4           0    18
##  8:      4           0    21
##  9:      3           4    36
## 10:      3           2    18
      print("Proprtion delay for each execution staqge")
## [1] "Proprtion delay for each execution staqge"
      print ( apply( apply(d[,7:10, with=F], 1, prop.table), 1, mean) )
##         New Calculated1      Filled Calculated2 
##  0.37987094  0.48214865  0.01396809  0.12401232

Summary execution time ~ requested orders per second

d[,OPS_Req:=OPS_Req * TestNumber]
d[,OPS_Mean:=OPS_Mean * TestNumber]

si<-rbind( tapply(d$Total, d$OPS_Req, length), 
           tapply(d$Total, d$OPS_Req, min),
           tapply(d$Total, d$OPS_Req, mean), 
           tapply(d$Total, d$OPS_Req, median), 
           tapply(d$Total, d$OPS_Req, max), 
           tapply(d$Total, d$OPS_Req, sd))
rownames(si)<-c("length", "min", "mean", "median", "max", "sd")
si<-round(t(si))
ggplot(melt(si), aes(Var1, value)) + geom_point() + facet_grid(Var2 ~ ., scales = "free") + xlab("Requested Orders Per Second")

Scaling

ggplot( d, aes(x=OPS_Req, y=OPS_Mean)) + geom_line() + geom_abline(intercept = 0, slope = 1,  size=2, color='red')