{"action":"created","issue":{"url":"https://api.github.com/repos/openblockchain/obc-peer/issues/684","repository_url":"https://api.github.com/repos/openblockchain/obc-peer","labels_url":"https://api.github.com/repos/openblockchain/obc-peer/issues/684/labels{/name}","comments_url":"https://api.github.com/repos/openblockchain/obc-peer/issues/684/comments","events_url":"https://api.github.com/repos/openblockchain/obc-peer/issues/684/events","html_url":"https://github.com/openblockchain/obc-peer/issues/684","id":134057556,"number":684,"title":"performance issue with security and privacy enabled","user":{"login":"dongmingh","id":17034559,"avatar_url":"https://avatars.githubusercontent.com/u/17034559?v=3","gravatar_id":"","url":"https://api.github.com/users/dongmingh","html_url":"https://github.com/dongmingh","followers_url":"https://api.github.com/users/dongmingh/followers","following_url":"https://api.github.com/users/dongmingh/following{/other_user}","gists_url":"https://api.github.com/users/dongmingh/gists{/gist_id}","starred_url":"https://api.github.com/users/dongmingh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dongmingh/subscriptions","organizations_url":"https://api.github.com/users/dongmingh/orgs","repos_url":"https://api.github.com/users/dongmingh/repos","events_url":"https://api.github.com/users/dongmingh/events{/privacy}","received_events_url":"https://api.github.com/users/dongmingh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"muralisrini","id":14361488,"avatar_url":"https://avatars.githubusercontent.com/u/14361488?v=3","gravatar_id":"","url":"https://api.github.com/users/muralisrini","html_url":"https://github.com/muralisrini","followers_url":"https://api.github.com/users/muralisrini/followers","following_url":"https://api.github.com/users/muralisrini/following{/other_user}","gists_url":"https://api.github.com/users/muralisrini/gists{/gist_id}","starred_url":"https://api.github.com/users/muralisrini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/muralisrini/subscriptions","organizations_url":"https://api.github.com/users/muralisrini/orgs","repos_url":"https://api.github.com/users/muralisrini/repos","events_url":"https://api.github.com/users/muralisrini/events{/privacy}","received_events_url":"https://api.github.com/users/muralisrini/received_events","type":"User","site_admin":false},"milestone":null,"comments":11,"created_at":"2016-02-16T18:22:16Z","updated_at":"2016-02-19T20:27:44Z","closed_at":null,"body":"code level:\r\ncommit e338d6a25865db96c4e6374168473965a2b39054\r\nMerge: 67e2a10 15dcc91\r\nAuthor: Binh Q Nguyen <binhn@us.ibm.com>\r\nDate:   Mon Feb 15 12:10:54 2016 -0500\r\n\r\n    Merge pull request #675 from bcbrock/docs\r\n\r\n    A couple of comments for outside-of-Vagrant builds\r\n\r\nsecurity and privacy: enabled\r\ntest: invoke a to b, then invoke b to a, then repeat continuously\r\nchaincode can only process 5 invoke transactions per second.\r\n\r\nBelow is the information I collected during the test.  Detailed log is in the attached file, sec_test0216.txt\r\n[sec_test0216.txt](https://github.com/openblockchain/obc-peer/files/133048/sec_test0216.txt)\r\n\r\n\r\n1. There are many selectNextCert messages through out the log:\r\n15:53:53.548 [CRYPTO.client.lukas] selectNextTCert -> ERRO 03f No TCert in cache found.\r\n\r\n2. an error message when deploy after successfully deploy and creating VM\r\n\r\n15:53:54.543 [rest] Deploy -> INFO 044 Successfuly deployed chainCode: bb540edfc1ee2ac0f5e2ec6000677f4cd1c6728046d5e32dede7fea11a42f86a6943b76a8f9154f4792032551ed320871ff7b7076047e4184292e01e3421889c.\r\n15:53:55.627 [container] newDockerClient -> INFO 045 Creating VM with endpoint: unix:///var/run/docker.sock\r\n15:54:03.169 [container] newDockerClient -> INFO 046 Creating VM with endpoint: unix:///var/run/docker.sock\r\n15:54:03.358 [ledger] sendProducerBlockEvent -> ERRO 047 Error unmarshalling deployment transaction for block event: proto: can't skip unknown wire type 7 for protos.ChaincodeDeploymentSpec\r\n\r\n3. it spends 12 seconds on selectNextCert from 15:59:48 to 16:00:00\r\n\r\n15:59:48.222 [rest] Invoke -> INFO 1bff REST invoking chaincode...\r\n15:59:48.223 [rest] Invoke -> INFO 1c00 Local user 'lukas' is already logged in. Retrieving login token.\r\n15:59:48.224 [CRYPTO] InitClient -> INFO 1c01 Initializing client [lukas]...\r\n15:59:48.224 [CRYPTO] InitClient -> INFO 1c02 Client already initiliazied [lukas]. Increasing counter from [149]\r\n15:59:48.224 [CRYPTO] InitClient -> INFO 1c01 Initializing client [lukas]...\r\n15:59:48.224 [CRYPTO] InitClient -> INFO 1c02 Client already initiliazied [lukas]. Increasing counter from [149]\r\n15:59:49.114 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c03 No TCert in cache found.\r\n15:59:49.971 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c04 No TCert in cache found.\r\n15:59:50.963 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c05 No TCert in cache found.\r\n15:59:51.816 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c06 No TCert in cache found.\r\n15:59:52.775 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c07 No TCert in cache found.\r\n15:59:53.711 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c08 No TCert in cache found.\r\n15:59:54.595 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c09 No TCert in cache found.\r\n15:59:55.533 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c0a No TCert in cache found.\r\n15:59:56.410 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c0b No TCert in cache found.\r\n15:59:57.344 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c0c No TCert in cache found.\r\n15:59:58.246 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c0d No TCert in cache found.\r\n15:59:59.199 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c0e No TCert in cache found.\r\n16:00:00.078 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c0f No TCert in cache found.\r\n16:00:00.956 [CRYPTO.client.lukas] selectNextTCert -> ERRO 1c10 No TCert in cache found.\r\n\r\n\r\n4. Then it creates VM repeatedly\r\n\r\n16:00:18.351 [container] newDockerClient -> INFO 1c11 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.485 [container] newDockerClient -> INFO 1c12 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.487 [container] newDockerClient -> INFO 1c13 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.489 [container] newDockerClient -> INFO 1c14 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.490 [container] newDockerClient -> INFO 1c15 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.491 [container] newDockerClient -> INFO 1c16 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.493 [container] newDockerClient -> INFO 1c17 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.495 [container] newDockerClient -> INFO 1c18 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.496 [container] newDockerClient -> INFO 1c19 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.498 [container] newDockerClient -> INFO 1c1a Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.499 [container] newDockerClient -> INFO 1c1b Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.501 [container] newDockerClient -> INFO 1c1c Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.502 [container] newDockerClient -> INFO 1c1d Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.504 [container] newDockerClient -> INFO 1c1e Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.506 [container] newDockerClient -> INFO 1c1f Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.507 [container] newDockerClient -> INFO 1c20 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.509 [container] newDockerClient -> INFO 1c21 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.511 [container] newDockerClient -> INFO 1c22 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.513 [container] newDockerClient -> INFO 1c23 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.514 [container] newDockerClient -> INFO 1c24 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.515 [container] newDockerClient -> INFO 1c25 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.517 [container] newDockerClient -> INFO 1c26 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.519 [container] newDockerClient -> INFO 1c27 Creating VM with endpoint: unix:///var/run/docker.sock\r\n16:00:18.522 [container] newDockerClient -> INFO 1c28 Creating VM with endpoint: unix:///var/run/docker.sock\r\n\r\n\r\n\r\n5. There are 56 seconds between two invoke requests, see \r\n\r\n15:59:48.222 [rest] Invoke -> INFO 1bff REST invoking chaincode...\r\nand \r\n16:00:44.684 [rest] Invoke -> INFO 1c29 REST invoking chaincode...\r\n16:00:44.686 [rest] Invoke -> INFO 1c2a Local user 'lukas' is already logged in. Retrieving login token.\r\n16:00:44.687 [CRYPTO] InitClient -> INFO 1c2b Initializing client [lukas]...\r\n\r\n6. the top 150 cpu users are listed below by using go pprof\r\n(pprof) top 150\r\n7.93s of 8.31s total (95.43%)\r\nDropped 143 nodes (cum <= 0.04s)\r\n      flat  flat%   sum%        cum   cum%\r\n     1.94s 23.35% 23.35%      1.94s 23.35%  runtime._ExternalCode\r\n     0.82s  9.87% 33.21%      0.82s  9.87%  math/big.divWW\r\n     0.60s  7.22% 40.43%      2.76s 33.21%  math/big.nat.divLarge\r\n     0.48s  5.78% 46.21%      0.70s  8.42%  runtime.scanobject\r\n     0.37s  4.45% 50.66%      1.29s 15.52%  runtime.makeslice\r\n     0.35s  4.21% 54.87%      0.35s  4.21%  math/big.addMulVVW\r\n     0.29s  3.49% 58.36%      0.86s 10.35%  runtime.mallocgc\r\n     0.24s  2.89% 61.25%      0.24s  2.89%  math/big.subVV\r\n     0.23s  2.77% 64.02%      0.23s  2.77%  runtime.readvarint\r\n     0.21s  2.53% 66.55%      0.61s  7.34%  math/big.basicMul\r\n     0.19s  2.29% 68.83%      0.19s  2.29%  math/big.mulAddVWW\r\n     0.19s  2.29% 71.12%      0.19s  2.29%  runtime.heapBitsForObject\r\n     0.17s  2.05% 73.16%      0.97s 11.67%  runtime.gentraceback\r\n     0.16s  1.93% 75.09%      0.31s  3.73%  runtime.scanblock\r\n     0.13s  1.56% 76.65%      0.36s  4.33%  runtime.step\r\n     0.12s  1.44% 78.10%      0.92s 11.07%  runtime.newarray\r\n     0.11s  1.32% 79.42%      0.18s  2.17%  runtime.greyobject\r\n     0.10s  1.20% 80.63%      0.10s  1.20%  runtime.memclr\r\n     0.09s  1.08% 81.71%      1.12s 13.48%  math/big.nat.mul\r\n     0.08s  0.96% 82.67%      0.08s  0.96%  math/big.mulWW\r\n     0.08s  0.96% 83.63%      0.08s  0.96%  runtime.mSpan_Sweep.func1\r\n     0.07s  0.84% 84.48%      0.07s  0.84%  math/big.nat.norm\r\n     0.07s  0.84% 85.32%      0.07s  0.84%  math/big.shlVU\r\n     0.07s  0.84% 86.16%      0.07s  0.84%  runtime.futex\r\n     0.06s  0.72% 86.88%      0.06s  0.72%  math/big.subVW\r\n     0.05s   0.6% 87.48%      1.17s 14.08%  math/big.(*Int).Mul\r\n     0.05s   0.6% 88.09%      0.05s   0.6%  math/big.shrVU\r\n     0.05s   0.6% 88.69%      0.41s  4.93%  runtime.pcvalue\r\n     0.05s   0.6% 89.29%      0.05s   0.6%  runtime.usleep\r\n     0.05s   0.6% 89.89%      0.05s   0.6%  syscall.Syscall\r\n     0.04s  0.48% 90.37%      1.16s 13.96%  math/big.nat.make\r\n     0.04s  0.48% 90.85%      0.08s  0.96%  math/big.nat.shl\r\n     0.04s  0.48% 91.34%      0.21s  2.53%  math/big.nat.sub\r\n     0.04s  0.48% 91.82%      0.60s  7.22%  runtime.scanframeworker\r\n     0.03s  0.36% 92.18%      2.79s 33.57%  math/big.(*Int).Mod\r\n     0.03s  0.36% 92.54%      0.15s  1.81%  math/big.nat.add\r\n     0.03s  0.36% 92.90%      2.80s 33.69%  math/big.nat.div\r\n     0.03s  0.36% 93.26%      0.11s  1.32%  runtime.heapBitsSweepSpan\r\n     0.02s  0.24% 93.50%      2.82s 33.94%  math/big.(*Int).QuoRem\r\n     0.02s  0.24% 93.74%      0.07s  0.84%  math/big.nat.clear\r\n     0.02s  0.24% 93.98%      0.20s  2.41%  runtime.funcspdelta\r\n     0.02s  0.24% 94.22%      0.14s  1.68%  runtime.mCentral_CacheSpan\r\n     0.01s  0.12% 94.34%      2.66s 32.01%  crypto/elliptic.(*CurveParams).doubleJacobian\r\n     0.01s  0.12% 94.46%      0.15s  1.81%  math/big.(*Int).Add\r\n     0.01s  0.12% 94.58%      0.23s  2.77%  math/big.(*Int).Sub\r\n     0.01s  0.12% 94.71%      0.08s  0.96%  math/big.nat.mulAddWW\r\n     0.01s  0.12% 94.83%      0.98s 11.79%  runtime.gcscan_m\r\n     0.01s  0.12% 94.95%      0.05s   0.6%  runtime.mHeap_Alloc.func1\r\n     0.01s  0.12% 95.07%      0.08s  0.96%  runtime.mProf_Malloc\r\n     0.01s  0.12% 95.19%         1s 12.03%  runtime.markroot\r\n     0.01s  0.12% 95.31%      0.07s  0.84%  runtime.newobject\r\n     0.01s  0.12% 95.43%      0.93s 11.19%  runtime.scanstack\r\n         0     0% 95.43%      0.97s 11.67%  crypto/ecdsa.Sign\r\n         0     0% 95.43%      2.73s 32.85%  crypto/ecdsa.Verify\r\n         0     0% 95.43%      3.22s 38.75%  crypto/elliptic.(*CurveParams).ScalarBaseMult\r\n         0     0% 95.43%      4.55s 54.75%  crypto/elliptic.(*CurveParams).ScalarMult\r\n         0     0% 95.43%      1.81s 21.78%  crypto/elliptic.(*CurveParams).addJacobian\r\n         0     0% 95.43%      0.11s  1.32%  crypto/elliptic.(*CurveParams).affineFromJacobian\r\n         0     0% 95.43%      0.96s 11.55%  crypto/x509.(*CertPool).findVerifiedParents\r\n         0     0% 95.43%      0.96s 11.55%  crypto/x509.(*Certificate).CheckSignature\r\n         0     0% 95.43%      0.96s 11.55%  crypto/x509.(*Certificate).CheckSignatureFrom\r\n         0     0% 95.43%      0.96s 11.55%  crypto/x509.(*Certificate).Verify\r\n         0     0% 95.43%      0.96s 11.55%  crypto/x509.(*Certificate).buildChains\r\n         0     0% 95.43%      0.96s 11.55%  crypto/x509.checkSignature\r\n         0     0% 95.43%      3.81s 45.85%  github.com/openblockchain/obc-peer/openchain.(*Devops).Invoke\r\n         0     0% 95.43%      3.78s 45.49%  github.com/openblockchain/obc-peer/openchain.(*Devops).createExecTx\r\n         0     0% 95.43%      3.81s 45.85%  github.com/openblockchain/obc-peer/openchain.(*Devops).invokeOrQuery\r\n         0     0% 95.43%      0.89s 10.71%  github.com/openblockchain/obc-peer/openchain/consensus/helper.(*ConsensusHandler).HandleMessage\r\n         0     0% 95.43%      0.89s 10.71%  github.com/openblockchain/obc-peer/openchain/consensus/helper.(*ConsensusHandler).doChainTransaction\r\n         0     0% 95.43%      2.77s 33.33%  github.com/openblockchain/obc-peer/openchain/crypto.(*clientImpl).(github.com/openblockchain/obc-peer/openchain/crypto.getTCertsFromTCA)-fm\r\n         0     0% 95.43%      3.78s 45.49%  github.com/openblockchain/obc-peer/openchain/crypto.(*clientImpl).NewChaincodeExecute\r\n         0     0% 95.43%      2.77s 33.33%  github.com/openblockchain/obc-peer/openchain/crypto.(*clientImpl).getNextTCert\r\n         0     0% 95.43%      2.77s 33.33%  github.com/openblockchain/obc-peer/openchain/crypto.(*clientImpl).getTCertsFromTCA\r\n         0     0% 95.43%      1.01s 12.15%  github.com/openblockchain/obc-peer/openchain/crypto.(*clientImpl).newChaincodeExecuteUsingTCert\r\n         0     0% 95.43%      1.01s 12.15%  github.com/openblockchain/obc-peer/openchain/crypto.(*clientImpl).signUsingTCertDER\r\n         0     0% 95.43%         1s 12.03%  github.com/openblockchain/obc-peer/openchain/crypto.(*clientImpl).signUsingTCertX509\r\n         0     0% 95.43%      2.77s 33.33%  github.com/openblockchain/obc-peer/openchain/crypto.(*keyStore).GetNextTCert\r\n         0     0% 95.43%      0.46s  5.54%  github.com/openblockchain/obc-peer/openchain/crypto.(*nodeImpl).sign\r\n         0     0% 95.43%      0.86s 10.35%  github.com/openblockchain/obc-peer/openchain/crypto.(*nodeImpl).verify\r\n         0     0% 95.43%      0.86s 10.35%  github.com/openblockchain/obc-peer/openchain/crypto.(*peerImpl).TransactionPreValidation\r\n         0     0% 95.43%      0.86s 10.35%  github.com/openblockchain/obc-peer/openchain/crypto.(*validatorImpl).TransactionPreValidation\r\n         0     0% 95.43%      0.96s 11.55%  github.com/openblockchain/obc-peer/openchain/crypto/utils.CheckCertAgainRoot\r\n         0     0% 95.43%      0.94s 11.31%  github.com/openblockchain/obc-peer/openchain/crypto/utils.ECDSASign\r\n         0     0% 95.43%      1.77s 21.30%  github.com/openblockchain/obc-peer/openchain/crypto/utils.ECDSAVerify\r\n         0     0% 95.43%      1.39s 16.73%  github.com/openblockchain/obc-peer/openchain/crypto/utils.VerifySignCapability\r\n         0     0% 95.43%      0.90s 10.83%  github.com/openblockchain/obc-peer/openchain/peer.(*PeerImpl).Chat\r\n         0     0% 95.43%      0.90s 10.83%  github.com/openblockchain/obc-peer/openchain/peer.(*PeerImpl).handleChat\r\n         0     0% 95.43%      3.81s 45.85%  github.com/openblockchain/obc-peer/openchain/rest.(*ServerOpenchainREST).Invoke\r\n         0     0% 95.43%      3.81s 45.85%  github.com/openblockchain/obc-peer/openchain/rest.(*ServerOpenchainREST).SetOpenchainServer\r\n         0     0% 95.43%      3.81s 45.85%  github.com/openblockchain/obc-peer/openchain/rest.(*ServerOpenchainREST).SetResponseType\r\n         0     0% 95.43%      0.90s 10.83%  github.com/openblockchain/obc-peer/protos._Peer_Chat_Handler\r\n         0     0% 95.43%      3.81s 45.85%  github.com/openblockchain/obc-peer/vendor/github.com/gocraft/web.(*Router).ServeHTTP\r\n         0     0% 95.43%      3.81s 45.85%  github.com/openblockchain/obc-peer/vendor/github.com/gocraft/web.(*middlewareHandler).invoke\r\n         0     0% 95.43%      3.81s 45.85%  github.com/openblockchain/obc-peer/vendor/github.com/gocraft/web.middlewareStack.func1\r\n         0     0% 95.43%      0.90s 10.83%  github.com/openblockchain/obc-peer/vendor/google.golang.org/grpc.(*Server).Serve.func2.1.1\r\n         0     0% 95.43%      0.90s 10.83%  github.com/openblockchain/obc-peer/vendor/google.golang.org/grpc.(*Server).handleStream\r\n         0     0% 95.43%      0.90s 10.83%  github.com/openblockchain/obc-peer/vendor/google.golang.org/grpc.(*Server).processStreamingRPC\r\n         0     0% 95.43%      0.12s  1.44%  math/big.(*Int).GCD\r\n         0     0% 95.43%      0.08s  0.96%  math/big.(*Int).Lsh\r\n         0     0% 95.43%      0.12s  1.44%  math/big.(*Int).ModInverse\r\n         0     0% 95.43%      3.81s 45.85%  net/http.(*conn).serve\r\n         0     0% 95.43%      3.81s 45.85%  net/http.serverHandler.ServeHTTP\r\n         0     0% 95.43%      3.81s 45.85%  reflect.Value.Call\r\n         0     0% 95.43%      3.81s 45.85%  reflect.Value.call\r\n         0     0% 95.43%      1.90s 22.86%  runtime._System\r\n         0     0% 95.43%         1s 12.03%  runtime.backgroundgc\r\n         0     0% 95.43%      3.81s 45.85%  runtime.call32\r\n         0     0% 95.43%      3.81s 45.85%  runtime.call64\r\n         0     0% 95.43%      0.07s  0.84%  runtime.callers\r\n         0     0% 95.43%      0.07s  0.84%  runtime.callers.func1\r\n         0     0% 95.43%      0.07s  0.84%  runtime.futexwakeup\r\n         0     0% 95.43%         1s 12.03%  runtime.gc\r\n         0     0% 95.43%      0.98s 11.79%  runtime.gc.func1\r\n         0     0% 95.43%      0.22s  2.65%  runtime.gcAssistAlloc\r\n         0     0% 95.43%      0.22s  2.65%  runtime.gcAssistAlloc.func1\r\n         0     0% 95.43%      0.48s  5.78%  runtime.gcBgMarkWorker\r\n         0     0% 95.43%      0.22s  2.65%  runtime.gcDrainN\r\n         0     0% 95.43%      0.48s  5.78%  runtime.gcDrainUntilPreempt\r\n         0     0% 95.43%      6.26s 75.33%  runtime.goexit\r\n         0     0% 95.43%      0.14s  1.68%  runtime.mCache_Refill\r\n         0     0% 95.43%      0.11s  1.32%  runtime.mSpan_Sweep\r\n         0     0% 95.43%      0.14s  1.68%  runtime.mallocgc.func2\r\n         0     0% 95.43%      0.07s  0.84%  runtime.notewakeup\r\n         0     0% 95.43%         1s 12.03%  runtime.parfordo\r\n         0     0% 95.43%      0.23s  2.77%  runtime.pcdatavalue\r\n         0     0% 95.43%      0.08s  0.96%  runtime.profilealloc\r\n         0     0% 95.43%      0.94s 11.31%  runtime.scang\r\n         0     0% 95.43%      0.60s  7.22%  runtime.scanstack.func1\r\n         0     0% 95.43%      0.07s  0.84%  runtime.schedule\r\n         0     0% 95.43%      0.06s  0.72%  runtime.startm\r\n         0     0% 95.43%      1.52s 18.29%  runtime.systemstack\r\n         0     0% 95.43%      0.05s   0.6%  runtime.wakep\r\n         0     0% 95.43%      0.05s   0.6%  syscall.Write\r\n         0     0% 95.43%      0.05s   0.6%  syscall.write\r\n"},"comment":{"url":"https://api.github.com/repos/openblockchain/obc-peer/issues/comments/186392972","html_url":"https://github.com/openblockchain/obc-peer/issues/684#issuecomment-186392972","issue_url":"https://api.github.com/repos/openblockchain/obc-peer/issues/684","id":186392972,"user":{"login":"dongmingh","id":17034559,"avatar_url":"https://avatars.githubusercontent.com/u/17034559?v=3","gravatar_id":"","url":"https://api.github.com/users/dongmingh","html_url":"https://github.com/dongmingh","followers_url":"https://api.github.com/users/dongmingh/followers","following_url":"https://api.github.com/users/dongmingh/following{/other_user}","gists_url":"https://api.github.com/users/dongmingh/gists{/gist_id}","starred_url":"https://api.github.com/users/dongmingh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dongmingh/subscriptions","organizations_url":"https://api.github.com/users/dongmingh/orgs","repos_url":"https://api.github.com/users/dongmingh/repos","events_url":"https://api.github.com/users/dongmingh/events{/privacy}","received_events_url":"https://api.github.com/users/dongmingh/received_events","type":"User","site_admin":false},"created_at":"2016-02-19T20:27:44Z","updated_at":"2016-02-19T20:27:44Z","body":"I run it on vagrant using SoupUI to drive the query transaction. The thread is set to 1.  Let me know if you need any information on the test.  I can show you in person.\r\n30 tps means 30 queries per second.\r\n"}}