Apache Solr指数基准测试

时间:2012-12-12 08:05:25

标签: solr

我最近开始使用Apache Solr,目前正试图找出对XML文档语料库的索引进行基准测试的最佳方法。我基本上对磁盘上的吞吐量(文档索引/秒)和索引大小感兴趣。

我正在Ubuntu上做这一切。

基准测试技术

*运行以下5次&获取平均总时间 *

  • 索引文件[curl http://localhost:8983/solr/core/dataimport?command=full-import]
    • 当状态为'idle'时,从XML响应中获取'Time take'名称属性[curl http:// localhost:8983 / solr / core / dataimport]
    • 获取'data / index'目录的大小
  • 删除索引[curl http://localhost:8983/solr/core/update --data '<delete><query>*:*</query></delete>' -H 'Content-type:text/xml; charset=utf-8']
  • 提交[curl http://localhost:8983/solr/w5/update --data '<commit/>' -H 'Content-type:text/xml; charset=utf-8']
  • 重新索引文件

问题

  1. 我打算通过将索引的文档数除以平均总时间来计算我的吞吐量;这很好吗?
  2. 是否有可用于实现目标的工具(如用于查询基准测试的SolrMeter)或标准脚本?我不想重新发明轮子......
  3. 我的方法很好吗?
  4. 是否有更简单的方法来获取索引大小而不是在data / index /目录上执行'du'?
  5. 在哪里可以找到有关如何解释XML响应属性的信息(请参阅下面的示例输出)。例如,我想知道QTimeTime taken值之间的区别。
  6. *用于获取吞吐量的XML响应 *

    <?xml version="1.0" encoding="UTF-8"?>
    <response>
    <lst name="responseHeader">
      <int name="status">0</int>
        <int name="QTime">0</int>
      </lst>
      <lst name="initArgs">
        <lst name="defaults">
          <str name="config">w5-data-config.xml</str>
        </lst>
      </lst>
      <str name="status">idle</str>
      <str name="importResponse"/>
      <lst name="statusMessages">
        <str name="Total Requests made to DataSource">0</str>
        <str name="Total Rows Fetched">3200</str>
        <str name="Total Documents Skipped">0</str>
        <str name="Full Dump Started">2012-12-11 14:06:19</str>
        <str name="">Indexing completed. Added/Updated: 1600 documents. Deleted 0 documents.</str>
        <str name="Total Documents Processed">1600</str>
        <str name="Time taken">0:0:10.233</str>
      </lst>
      <str name="WARNING">This response format is experimental.  It is likely to change in the future.</str>
    </response>
    

1 个答案:

答案 0 :(得分:1)

问题1:

我建议您尝试索引多个XML(具有不同数据集)文件并比较给定结果。这就是你知道如何将花费的时间与你的文件数量分开的方法。

问题2:

我没有找到任何这些工具,我自己通过开发一个简短的Java应用程序来完成它

问题3:

你的意思是什么?我会链接到我对问题1的回答......

问题4:

索引文件夹的大小为您提供了整个索引的正确大小,您为什么不想使用它?

问题5:

您在发布的XML中获得的结果是通过XSL文件传输的。您可以在/ bin / solr / conf / xslt文件夹中找到它。您可以查看这些内容的确切含义并且您可以编写自己的XSL来显示结果和信息。 注意:如果创建新的XSL文件,则必须更改solrconfig.xml中的设置。如果您不想进行任何更改,请编辑现有文件。

编辑:我认为不同之处在于,Qtime是采用时间值的舍入值。 Qtime中只有偶数。

祝你好运