Executing benchmarks with 10000 users with 100 groups, round trip delay for groups = 1 ----------------------------------------------------------- java -Xmx2048m -Dprofile=true -Druntime=5 -Dwarmup=0 -jar target/oak-run-1.8-SNAPSHOT.jar benchmark --numberOfUsers 10000 --numberOfGroups 100 --roundtripDelay 1 --csvFile PrincipalNameResolutionTest_principalresolution_no_20170131_165844.csv --concurrency 1 --report false PrincipalNameResolutionTest Oak-Tar Apache Jackrabbit Oak 1.8-SNAPSHOT # PrincipalNameResolutionTes C min 10% 50% 90% max N Oak-Tar 1 130 136 149 171 178 34 Profiler: top 5 stack trace(s) of of 5135 ms of 1921 thread dumps: 5/316 (1%): at org.apache.jackrabbit.oak.plugins.segment.RecordWriters$MapLeafWriter.writeRecordContent(RecordWriters.java:183) at org.apache.jackrabbit.oak.plugins.segment.RecordWriters$MapLeafWriter.writeRecordContent(RecordWriters.java:148) at org.apache.jackrabbit.oak.plugins.segment.RecordWriters$RecordWriter.write(RecordWriters.java:68) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeRecord(SegmentWriter.java:801) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeMapLeaf(SegmentWriter.java:232) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeMapBucket(SegmentWriter.java:264) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeMapBucket(SegmentWriter.java:291) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeMap(SegmentWriter.java:223) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:735) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:737) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.childNodeChanged(SegmentWriter.java:888) at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:416) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.diff(SegmentWriter.java:903) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:725) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:737) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.childNodeChanged(SegmentWriter.java:888) at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:416) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.diff(SegmentWriter.java:903) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:725) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.childNodeChanged(SegmentWriter.java:888) at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:416) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.diff(SegmentWriter.java:903) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:725) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:113) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:36) at org.apache.jackrabbit.oak.spi.commit.EditorHook.processCommit(EditorHook.java:57) at org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:61) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.prepare(SegmentNodeStore.java:578) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.optimisticMerge(SegmentNodeStore.java:609) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.execute(SegmentNodeStore.java:665) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.merge(SegmentNodeStore.java:308) at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:249) at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:260) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.commit(Delegatee.java:314) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.syncExternalUsers(Delegatee.java:218) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.SyncMBeanImpl.syncExternalUsers(SyncMBeanImpl.java:115) at org.apache.jackrabbit.oak.benchmark.authentication.external.PrincipalNameResolutionTest.runTest(PrincipalNameResolutionTest.java:52) at org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:375) at org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:328) at org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:233) at org.apache.jackrabbit.oak.benchmark.AbstractTest.run(AbstractTest.java:200) at org.apache.jackrabbit.oak.benchmark.authentication.external.AbstractExternalTest.run(AbstractExternalTest.java:159) at org.apache.jackrabbit.oak.benchmark.authentication.external.PrincipalNameResolutionTest.run(PrincipalNameResolutionTest.java:31) at org.apache.jackrabbit.oak.benchmark.BenchmarkRunner.main(BenchmarkRunner.java:479) at org.apache.jackrabbit.oak.run.BenchmarkCommand.execute(BenchmarkCommand.java:26) at org.apache.jackrabbit.oak.run.Mode.execute(Mode.java:65) at org.apache.jackrabbit.oak.run.Main.main(Main.java:49) 5/316 (1%): at org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncContext.createValues(DefaultSyncContext.java:741) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DynamicSyncContext.syncMembership(DynamicSyncContext.java:130) at org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncContext.syncUser(DefaultSyncContext.java:444) at org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncContext.sync(DefaultSyncContext.java:243) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DynamicSyncContext.sync(DynamicSyncContext.java:81) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.syncUser(Delegatee.java:280) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.syncExternalUsers(Delegatee.java:205) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.SyncMBeanImpl.syncExternalUsers(SyncMBeanImpl.java:115) at org.apache.jackrabbit.oak.benchmark.authentication.external.PrincipalNameResolutionTest.runTest(PrincipalNameResolutionTest.java:52) at org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:375) at org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:328) at org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:233) at org.apache.jackrabbit.oak.benchmark.AbstractTest.run(AbstractTest.java:200) at org.apache.jackrabbit.oak.benchmark.authentication.external.AbstractExternalTest.run(AbstractExternalTest.java:159) at org.apache.jackrabbit.oak.benchmark.authentication.external.PrincipalNameResolutionTest.run(PrincipalNameResolutionTest.java:31) at org.apache.jackrabbit.oak.benchmark.BenchmarkRunner.main(BenchmarkRunner.java:479) at org.apache.jackrabbit.oak.run.BenchmarkCommand.execute(BenchmarkCommand.java:26) at org.apache.jackrabbit.oak.run.Mode.execute(Mode.java:65) at org.apache.jackrabbit.oak.run.Main.main(Main.java:49) 4/316 (1%): at org.apache.jackrabbit.oak.plugins.segment.Template.(Template.java:131) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:706) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:737) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.childNodeChanged(SegmentWriter.java:888) at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:416) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.diff(SegmentWriter.java:903) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:725) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:737) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.childNodeChanged(SegmentWriter.java:888) at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:416) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.diff(SegmentWriter.java:903) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:725) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.childNodeChanged(SegmentWriter.java:888) at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:416) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.diff(SegmentWriter.java:903) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:725) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:113) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:36) at org.apache.jackrabbit.oak.spi.commit.EditorHook.processCommit(EditorHook.java:57) at org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:61) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.prepare(SegmentNodeStore.java:578) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.optimisticMerge(SegmentNodeStore.java:609) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.execute(SegmentNodeStore.java:665) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.merge(SegmentNodeStore.java:308) at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:249) at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:260) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.commit(Delegatee.java:314) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.syncExternalUsers(Delegatee.java:218) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.SyncMBeanImpl.syncExternalUsers(SyncMBeanImpl.java:115) at org.apache.jackrabbit.oak.benchmark.authentication.external.PrincipalNameResolutionTest.runTest(PrincipalNameResolutionTest.java:52) at org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:375) at org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:328) at org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:233) at org.apache.jackrabbit.oak.benchmark.AbstractTest.run(AbstractTest.java:200) at org.apache.jackrabbit.oak.benchmark.authentication.external.AbstractExternalTest.run(AbstractExternalTest.java:159) at org.apache.jackrabbit.oak.benchmark.authentication.external.PrincipalNameResolutionTest.run(PrincipalNameResolutionTest.java:31) at org.apache.jackrabbit.oak.benchmark.BenchmarkRunner.main(BenchmarkRunner.java:479) at org.apache.jackrabbit.oak.run.BenchmarkCommand.execute(BenchmarkCommand.java:26) at org.apache.jackrabbit.oak.run.Mode.execute(Mode.java:65) at org.apache.jackrabbit.oak.run.Main.main(Main.java:49) 4/316 (1%): at org.apache.jackrabbit.oak.plugins.segment.Template.(Template.java:125) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:706) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:737) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.childNodeChanged(SegmentWriter.java:888) at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:416) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.diff(SegmentWriter.java:903) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:725) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:737) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.childNodeChanged(SegmentWriter.java:888) at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:416) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.diff(SegmentWriter.java:903) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:725) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.childNodeChanged(SegmentWriter.java:888) at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:416) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$ChildNodeCollectorDiff.diff(SegmentWriter.java:903) at org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:725) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:113) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:36) at org.apache.jackrabbit.oak.spi.commit.EditorHook.processCommit(EditorHook.java:57) at org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:61) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.prepare(SegmentNodeStore.java:578) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.optimisticMerge(SegmentNodeStore.java:609) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore$Commit.execute(SegmentNodeStore.java:665) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.merge(SegmentNodeStore.java:308) at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:249) at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:260) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.commit(Delegatee.java:314) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.syncExternalUsers(Delegatee.java:218) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.SyncMBeanImpl.syncExternalUsers(SyncMBeanImpl.java:115) at org.apache.jackrabbit.oak.benchmark.authentication.external.PrincipalNameResolutionTest.runTest(PrincipalNameResolutionTest.java:52) at org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:375) at org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:328) at org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:233) at org.apache.jackrabbit.oak.benchmark.AbstractTest.run(AbstractTest.java:200) at org.apache.jackrabbit.oak.benchmark.authentication.external.AbstractExternalTest.run(AbstractExternalTest.java:159) at org.apache.jackrabbit.oak.benchmark.authentication.external.PrincipalNameResolutionTest.run(PrincipalNameResolutionTest.java:31) at org.apache.jackrabbit.oak.benchmark.BenchmarkRunner.main(BenchmarkRunner.java:479) at org.apache.jackrabbit.oak.run.BenchmarkCommand.execute(BenchmarkCommand.java:26) at org.apache.jackrabbit.oak.run.Mode.execute(Mode.java:65) at org.apache.jackrabbit.oak.run.Main.main(Main.java:49) 4/316 (1%): at org.apache.jackrabbit.oak.plugins.value.ValueImpl.newValue(ValueImpl.java:128) at org.apache.jackrabbit.oak.plugins.value.ValueFactoryImpl.createValue(ValueFactoryImpl.java:145) at org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncContext.createValue(DefaultSyncContext.java:725) at org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncContext.createValues(DefaultSyncContext.java:739) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DynamicSyncContext.syncMembership(DynamicSyncContext.java:130) at org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncContext.syncUser(DefaultSyncContext.java:444) at org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncContext.sync(DefaultSyncContext.java:243) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DynamicSyncContext.sync(DynamicSyncContext.java:81) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.syncUser(Delegatee.java:280) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.syncExternalUsers(Delegatee.java:205) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.SyncMBeanImpl.syncExternalUsers(SyncMBeanImpl.java:115) at org.apache.jackrabbit.oak.benchmark.authentication.external.PrincipalNameResolutionTest.runTest(PrincipalNameResolutionTest.java:52) at org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:375) at org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:328) at org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:233) at org.apache.jackrabbit.oak.benchmark.AbstractTest.run(AbstractTest.java:200) at org.apache.jackrabbit.oak.benchmark.authentication.external.AbstractExternalTest.run(AbstractExternalTest.java:159) at org.apache.jackrabbit.oak.benchmark.authentication.external.PrincipalNameResolutionTest.run(PrincipalNameResolutionTest.java:31) at org.apache.jackrabbit.oak.benchmark.BenchmarkRunner.main(BenchmarkRunner.java:479) at org.apache.jackrabbit.oak.run.BenchmarkCommand.execute(BenchmarkCommand.java:26) at org.apache.jackrabbit.oak.run.Mode.execute(Mode.java:65) at org.apache.jackrabbit.oak.run.Main.main(Main.java:49) 4/316 (1%): at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.append(Delegatee.java:372) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.append(Delegatee.java:358) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.append(Delegatee.java:380) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.commit(Delegatee.java:315) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.Delegatee.syncExternalUsers(Delegatee.java:218) at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.jmx.SyncMBeanImpl.syncExternalUsers(SyncMBeanImpl.java:115) at org.apache.jackrabbit.oak.benchmark.authentication.external.PrincipalNameResolutionTest.runTest(PrincipalNameResolutionTest.java:52) at org.apache.jackrabbit.oak.benchmark.AbstractTest.execute(AbstractTest.java:375) at org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:328) at org.apache.jackrabbit.oak.benchmark.AbstractTest.runTest(AbstractTest.java:233) at org.apache.jackrabbit.oak.benchmark.AbstractTest.run(AbstractTest.java:200) at org.apache.jackrabbit.oak.benchmark.authentication.external.AbstractExternalTest.run(AbstractExternalTest.java:159) at org.apache.jackrabbit.oak.benchmark.authentication.external.PrincipalNameResolutionTest.run(PrincipalNameResolutionTest.java:31) at org.apache.jackrabbit.oak.benchmark.BenchmarkRunner.main(BenchmarkRunner.java:479) at org.apache.jackrabbit.oak.run.BenchmarkCommand.execute(BenchmarkCommand.java:26) at org.apache.jackrabbit.oak.run.Mode.execute(Mode.java:65) at org.apache.jackrabbit.oak.run.Main.main(Main.java:49) summary: 53%: org.apache.jackrabbit.oak.plugins.segment 8%: org.apache.jackrabbit.oak.plugins.memory 3%: org.apache.jackrabbit.oak.plugins.nodetype 2%: org.apache.jackrabbit.oak.query.index 2%: org.apache.jackrabbit.oak.core 2%: org.apache.jackrabbit.oak.spi.security.authentication.external.basic 2%: org.apache.jackrabbit.oak.plugins.value . ----------------------------------------- Benchmark completed. see PrincipalNameResolutionTest_principalresolution_no_20170131_165844.csv for details: Benchmarks: PrincipalNameResolutionTest Fixture: Oak-Tar Runtime: 5 Concurrency: 1 Profiling: true Number of Users: 10000 Number of Groups: 100 -------------------------------------- Executing benchmarks with 10000 users with 100 groups, round trip delay for groups = 1 ----------------------------------------------------------- # PrincipalNameResolutionTes, C, min, 10%, 50%, 90%, max, N Oak-Tar , 1, 130, 136, 149, 171, 178, 34