【问题标题】:solrj socket setSoTimeout() changes response timesolrj socket setSoTimeout() 改变响应时间
【发布时间】:2014-05-29 06:50:29
【问题描述】:

对此可能的解释是什么?我们有一个 solr 服务器和一个使用 solrj 的 java 客户端。当我们将 setSoTimeout 设置为低于 5000 时,来自 solr 服务器的响应会在 20-30 毫秒内到达。但是,如果我们将其设置得更高或保留默认值,则响应时间为 500-600 毫秒。

【问题讨论】:

    标签: java sockets solr timeout solrj


    【解决方案1】:

    好的,我认为您遇到的性能问题不是来自套接字超时。

    其他问题: - 您正在执行的请求是什么? - 您的索引中有多少个文档?索引的大小(以 MB 为单位)是多少? - 您的服务器配置(CPU、RAM)是什么? - 你在分片(solrcloud)上运行吗?如果是,有多少分片/副本?

    参考资料: - solr wiki performance - solr wiki perfomance commons problems

    【讨论】:

    • 请求是一个简单的:查询,大约250个文档(本地测试环境),56.0 kb的索引大小,服务器没有分片,我的参数是cpu 2x2.66ghz 和 4 GB 内存。我怀疑这是服务器问题.. 这只是在本地机器上的测试
    • 请求是使用字段查询还是查询过滤器(qf)。请尝试 qf 更快。请给我查询我会验证它。
    • 这不是一个特定的查询。一般来说,当我在 solrj SolrServer 上执行 .setSoTimeout(5000) 时,它会在 20-30 毫秒内返回响应,否则如果我没有在 500 毫秒左右设置它。对于所有查询,例如q=*:*
    • 嘿嘿奇怪的行为,肯定有窍门!我可以请您solrmeter您的 solr 以了解瓶颈。或者,如果您愿意,请将您的 solr 打开到网络并与我分享,我会为您欺骗!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 2021-04-25
    • 2020-10-10
    • 2017-01-12
    • 1970-01-01
    相关资源
    最近更新 更多