jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tobias Bocanegra <tri...@adobe.com>
Subject Re: permission store & rep:modCount
Date Wed, 05 Mar 2014 19:50:29 GMT
Hi,

I created a test that created a node structure with 10k node, each
having 1 ACL and 1 ACE for the everyone principle.
then, with concurrent reader sessions, I read the nodes randomly.

Benchmarks: ConcurrentEveryoneACLTest (oak 0.19-SNAPSHOT with everyone cache)
Fixtures: Oak-Tar
Runtime: 5
Num Items: 1000
Concurrency: 1,2,4,8,10,15,20,50
--------------------------------------
Executing benchmarks as admin: false on Oak-Tar
-----------------------------------------------------------
# ConcurrentEveryoneACLTest ,      C,    min,    10%,    50%,    90%,
  max,      N
Oak-Tar                     ,      1,     11,     12,     13,     14,
   19,    391
Oak-Tar                     ,      2,     12,     13,     14,     17,
   27,    675
Oak-Tar                     ,      4,     15,     16,     19,     23,
   55,   1020
Oak-Tar                     ,      8,     31,     50,     53,     56,
  114,    743
Oak-Tar                     ,     10,     56,     66,     70,     76,
  142,    708
Oak-Tar                     ,     15,     74,    104,    110,    117,
  132,    687
Oak-Tar                     ,     20,     92,    136,    145,    154,
  169,    698
Oak-Tar                     ,     50,    156,    353,    384,    411,
  476,    670
Executing benchmarks as admin: true on Oak-Tar
-----------------------------------------------------------
# ConcurrentEveryoneACLTest ,      C,    min,    10%,    50%,    90%,
  max,      N
Oak-Tar                     ,      1,      4,      5,      5,      6,
   17,    900
Oak-Tar                     ,      2,      5,      5,      6,      8,
   21,   1526
Oak-Tar                     ,      4,      6,      7,      8,     11,
   26,   2318
Oak-Tar                     ,      8,     13,     24,     26,     33,
   68,   1420
Oak-Tar                     ,     10,     19,     30,     33,     46,
   79,   1395
Oak-Tar                     ,     15,     40,     47,     52,     76,
  120,   1345
Oak-Tar                     ,     20,     36,     61,     67,     94,
  145,   1395
Oak-Tar                     ,     50,    115,    158,    179,    255,
  310,   1325

then I simply disabled the gloabal everyone cache the result is really
bad (the 50 cocurrent actually never completed after 2 minutes?):

# ConcurrentEveryoneACLTest ,      C,    min,    10%,    50%,    90%,
  max,      N
Oak-Tar                     ,      1,     41,     42,     43,     49,
   54,    112
Oak-Tar                     ,      2,     56,     57,     62,     74,
  125,    158
Oak-Tar                     ,      4,     75,     96,    117,    132,
  211,    171
Oak-Tar                     ,      8,    261,    321,    346,    419,
  471,    117
Oak-Tar                     ,     10,    475,    495,    519,   6532,
 6549,     70
Oak-Tar                     ,     15,   7646,   7647,   7655,   7660,
 7661,     15
Oak-Tar                     ,     20,  26988,  26995,  27010,  27015,
27016,     20

On the bright side, the creation of the ACLs is better for higher
concurrency without the modcount:

with mod-count:
# ConcurrentWriteACLTest    ,      C,    min,    10%,    50%,    90%,
  max,      N
Oak-Mongo                   ,      1,    197,    211,    227,    276,
  330,     21
Oak-Mongo                   ,      2,    210,    212,    231,   1366,
 4688,     22
Oak-Mongo                   ,      4,    200,    208,    232,   3864,
 4990,     24
Oak-Mongo                   ,      8,    201,    238,   1520,   4480,
 4554,     27
Oak-Mongo                   ,     10,    202,    216,   1584,   5286,
 6671,     28
Oak-Mongo                   ,     15,    225,    740,   3005,   7695,
 8254,     28
Oak-Mongo                   ,     20,    219,    238,   3684,   8701,
10770,     34
Oak-Mongo                   ,     50,   3951,   7631,  12557,  16893,
17828,     52

without mod-count:
# ConcurrentWriteACLTest    ,      C,    min,    10%,    50%,    90%,
  max,      N
Oak-Mongo                   ,      1,    201,    206,    219,    259,
  268,     23
Oak-Mongo                   ,      2,    185,    194,    216,    616,
 4561,     24
Oak-Mongo                   ,      4,    191,    194,    375,   2434,
 3091,     20
Oak-Mongo                   ,      8,    207,    469,    603,   2865,
 3962,     38
Oak-Mongo                   ,     10,    510,    676,    782,   1053,
 1417,     65
Oak-Mongo                   ,     15,    965,   1223,   1344,   1673,
 2137,     56
Oak-Mongo                   ,     20,    994,   1211,   1607,   2033,
 2661,     66
Oak-Mongo                   ,     50,   3359,   3496,   3947,   4655,
 5559,     96

and a quick test with storing the permissions directly in the content:
# ConcurrentWriteACLTest    ,      C,    min,    10%,    50%,    90%,
  max,      N
Oak-Tar                     ,      1,     30,     32,     35,     39,
   48,    143
Oak-Tar                     ,      2,     71,     77,     79,     84,
  106,    126
Oak-Tar                     ,      4,     48,    159,    161,    164,
  168,    125
Oak-Tar                     ,      8,    313,    315,    324,    340,
  347,    128
Oak-Tar                     ,     10,    384,    395,    402,    418,
  419,    130
Oak-Tar                     ,     15,    580,    601,    615,    626,
  630,    135
Oak-Tar                     ,     20,    712,    803,    821,    847,
  852,    140
Oak-Tar                     ,     50,    533,   2053,   2134,   2163,
 2168,    151

I'll keep you posted...
regards, toby

Mime
View raw message