solrの従来のリクエストとjsonapiのリクエストをsiedgeを使って比較してみた。
http://localhost:8983/solr/select?q=*:*&rows=100&wt=json
siege --concurrent=50 -t 10s test.url
Transactions: 727 hits
Availability: 100.00 %
Elapsed time: 9.41 secs
Data transferred: 1152.53 MB
Response time: 0.62 secs
Transaction rate: 77.26 trans/sec
Throughput: 122.48 MB/sec
Concurrency: 48.26
Successful transactions: 727
Failed transactions: 0
Longest transaction: 1.07
Shortest transaction: 0.13
test.json
{
query:":",
limit : 100
}
siege --concurrent=50 -t 10s --content-type="application/json" 'http://localhost:8983/solr/query POST < ./test.json'
Transactions: 640 hits
Availability: 100.00 %
Elapsed time: 9.57 secs
Data transferred: 1324.77 MB
Response time: 0.23 secs
Transaction rate: 66.88 trans/sec
Throughput: 138.43 MB/sec
Concurrency: 15.28
Successful transactions: 640
Failed transactions: 0
Longest transaction: 0.51
Shortest transaction: 0.06
jsonの方がスループットはいいんですがConcurrency同時接続が極端に低い
従来
Concurrency: 48.26
json api
Concurrency: 15.28
まだベータ版という感じ。