[英]Solr performance for large index with 4 servers
我們有4台服務器(2台48GB RAM,24核,2.4GHz的服務器&& 2台64GB RAM,24核,2.4GHz的服務器)。 我們正在使用4個分片(每個服務器上有1個分片)。 每個分片索引大小約為500GB。
我們正在使用edismax解析器和&環繞查詢解析器來處理短語,接近度和通配符搜索。
甚至簡單的通配符/鄰近搜索都需要10到20秒。
我們在具有8個分片(每個分片索引大小為250GB)的單服務器(24核,64 GB RAM,2.4GHz)上具有相同的設置
單服務器設置的性能幾乎是4台服務器設置的2倍(更好)。
我們已經設置了4個服務器Solr Cloud來提高性能,但是性能下降了。 我們這里可能缺少什么嗎?
當使用solr進行搜索時,這個問題看起來像是CPU使用率的一個姐妹,並且問題是相同的:由於查詢非常繁瑣 ,您受CPU限制。 您的查詢以單線程方式與每個分片匹配,因此您的4台計算機設置意味着您有4個線程在500GB索引上工作,而單台計算機設置有8個線程在250GB索引上工作。 當您擁有足夠多的CPU內核時,具有較小碎片的設置將首先完成。
如果將這些碎片進一步拆分為每個(例如50GB),則將有40個碎片。 如果將它們沿着4個機器(每個機器有10個分片)進行拆分,則可以在全CPU速度下支持2個(實際上更像3個)並發請求。 理想情況下,這將使您的單機設置速度提高5倍。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.