1. 程式人生 > >提高solr的搜尋速度

提高solr的搜尋速度

之前是使用12臺機分散式搜尋,1臺為主機做索引並分發給子機,8臺做大索引搜尋服務,3 臺做小索引搜尋服務,配置基本是記憶體在4-8G,cpu:2-8core的伺服器,索引的大小為8G。搜尋的響應時間 是150ms左右。(使用solr架構的搜尋服務)

   在一次技術群中,中聽到一位sina的架構師,他們是採用基於lucene做的搜尋服務,索引在20多G資料量,差不多是在億的級別上,PV量在500萬/天左右,高峰時期500個併發量/s,採用的是增量索引 ,讀寫索引都在同一臺機上。他們並沒有採用分散式,而是採用單機提供服務,主要是在配置上記憶體提高 到32-64G,再加cpu:32個core.

到底他們在架構上採取了什麼樣的優化,並不得而知。但從中可以得知,採取大記憶體的處理比使用硬碟的快1000倍左右。所以我們也測試 了一下采用大記憶體的設計。使用的機器配置是32G,4個core CPU。

使用的搜尋服務是用solr搭建的,主要修改它的索引目錄位置,將索引目錄設定為記憶體(在linux中,可以將記憶體對映為硬碟),然後關掉了其它8臺大索引的服務,即是將主要的搜尋服務都分給新配置的機器。測試了幾天,它的效能果真是好很多。平均響應時間是30ms。在取文件的時間上幾乎為0ms,主要消耗的時間在計算跟排序上,由於排序時用了六個索引欄位,動態計算bf分數,這裡才是費了最多時間的。而這裡其實也可以優化的,即在建索引的時候,就先計算好每個文件的bf分數(有時間再做優化)。相信可以提高到10ms左右的響應時間 。

      solr的本身設計也是多執行緒,高峰的時候有幾十條執行緒併發,負載到了4左右,現在單機的瓶頸在CPU上,如果cpu再高些,基本上就可以安穩地頂起高峰時期,或者再多臺同樣配置的機器負載。

現在的索引只有8G,如果到了20G(一億左右的資料量)的話,不知道會怎麼樣,請拭目以待。

相關推薦

提高solr搜尋速度

之前是使用12臺機分散式搜尋,1臺為主機做索引並分發給子機,8臺做大索引搜尋服務,3 臺做小索引搜尋服務,配置基本是記憶體在4-8G,cpu:2-8core的伺服器,索引的大小為8G。搜尋的響應時間 是150ms左右。(使用solr架構的搜尋服務)    在一次技術群中,

MongoDB-處理速度變慢問題(索引能提高3倍的搜尋速度)

問題:之前在另一臺電腦已經搭好的專案,在跑上傳並儲存資料到資料庫的時候,總耗時只要10s。後來將專案重新部署到一個新電腦上面,重新搭好環境,跑同一段程式碼的時候,總耗時變成;了30s。經過研究,發現程式碼中主要的耗時在mongoDB的update中,而且update命令也是要

ASP.NET MVC 提高運行速度的幾種性能優化方法

服務 排隊 等待 谷歌搜索 部署 lan str run 提高 主要介紹ASP.NETMVC 應用提速的六種方法,因為沒有人喜歡等待,所以介紹幾種常用的優化方法。 大家可能會遇到排隊等待,遇到紅燈要等待,開個網頁要等待,等等等。 理所當然,沒有人喜歡等待網頁慢吞吞地加載

動靜分離,提高網頁訪問速度

gin jpg oot 得到 加載 .html path page -c ? 起源 有些人總是不帶我喝咖啡,認為喝咖啡高雅,吃大蒜低俗,還好,沒有俗就沒有雅。。。我就俗了,怎麽地,打我呀。。。。哈哈 動靜分離,那麽什麽動態的,什麽是靜

webpack 打包圖片 能否提高加載速度

images image 提高 img 很多 正常 webpack pac mage 正常加載: 打包圖片: 結論:當加載資源 數量很多 時,可以提高加載速度webpack 打包圖片 能否提高加載速度

語音識別的大規模漢語樹形詞典,搜尋速度快如閃電

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

提高matlab執行速度

我一開始寫了好幾個for迴圈,從不同的Excel檔案中呼叫資料。後來用MATLAB自帶的“執行並計時”功能,找到了毒瘤的程式碼是讀取Excel中的資料,此操作佔用了我將近80%的時間。然後我優化了一下,儘量減少讀取Excel的次數,程式碼跑的時間立刻就下來了   一、 遵守Performance

matlab運行出現“變量似乎會隨著叠代次數改變而變化,請預分配內存,以提高運行速度”問題

實現 targe left 賦值 矩陣 意思 nbsp 三種 detail 這句話大致意思就是: b = 0;for i = 1:3 a(i) = b;end是說變量的長度是變化的,經常在循環裏出現,比如上面這個例子,這樣會影響計算速度,最好的辦法是預先定義a的長度

Linux系統下安裝solr搜尋伺服器和訪問不了solr首頁問題

第一步:安裝linux、jdk、tomcat。 jdk安裝步驟詳細見 安裝jdk [[email protected] ~]# ll total 8044 -rw-r--r--. 1 root root 8234674 Oct 27  2013 apac

solr搜尋_商品分類_品牌列表_規格列表的實現思路和步驟

第一步: 事先我們已經將itemCat表中的資料放入了solr中,所以這裡可以直接使用solr的分組查詢,查詢商品分類資料     第二步: 將商品分類表全部快取進redis資料庫中 快取的形式是map型別  大key=itemcat&nbs

scrapy提高爬取速度

scrapy在單機跑大量資料的時候,在對settings檔案不進行設定的時候,scrapy的爬取速度很慢,再加上多個頁面層級解析,往往導致上萬的資料可能爬取要半個小時之久,這還不包括插入資料到資料庫的操作。下面是我在實驗中測試並且驗證爬取速度大幅度提升,不過前提你要注意到你爬取的目標網站

提高圖片載入速度

webpack.config的圖片test的loader,可以使用file-loader 或者 url-loader, url-loader打包時是根據入口html路徑,所以直接打包會失敗,要改路徑,而file-loader不會 但是url-loader會提高效能,還比file-loader

spring boot pom打包配置+linux啟動指令碼 提高打包部署速度

spring boot在打包時候利用maven打包控制元件以及啟動指令碼配置,將配置檔案打包到jar包的外面,方便配置部署。 1. spring boot maven打包控制元件 <build> <plugins>

建站系列教程(三)--如何提高網站搜尋排名?

1、搜尋引擎優化 網站建成能訪問後,還要解決的問題就是如何能使網站排名靠前,通過一定關鍵詞、關鍵字能搜尋到網站,併網站排在前面幾頁,這就需要通過SEO搜尋引擎優化技術來做,一些常用的方法有設定TDK、建站群,增加友情連結、做網站地圖等等。 常規的必須設定標題

Nginx開啟Gzip壓縮提高頁面載入速度

# 開啟Nginx配置檔案 vim /usr/local/nginx/conf/nginx.conf # 找到如下,進行修改 gzip on; // 開啟Gzip gzip_min_length 1k; // 不壓縮臨界值,大於1K的才壓

提高查詢資料速度

          在實際專案中,通過設計表架構時,設計系統結構時,查詢資料時綜合提高查詢資料效率 1.適當冗餘 資料庫在設計時遵守三正規化,同時業務資料(對資料的操作,比如資料稽核,對某人評分等)和基礎資料(比如資料詳情,使用者描述等)要分開儲存,放在不同表中。在設計資

Elsticsearch為何搜尋速度如此之快?

之前一直在專案中使用elasticsearch,用的是spring-data-elasticsearch。一直在使用卻對搜尋原理一直不太清楚,最近在網上看了些相關資料,特此總結一下: 首先,ES用的是倒排索引,何為倒排索引,我的理解就是將document的id按

python可以提高程式執行速度N倍你知道嗎?

1.1.7.1。GPU目標: Numba可以針對Nvidia CUDA和(實驗性)AMD ROC GPU。您可以使用純Python編寫核心,讓Numba處理計算和資料移動(或明確地執行此操作)。單擊關於CUDA或ROC的 Numba文件 。 示例:接下來我們寫一段簡單的程式碼,來計算一下執

提高github下載速度的方法【100%有效】

因為大家都知道的原因,在國內從github上面下載程式碼的速度峰值通常都是20kB/s。這種速度對於那些小專案還好,而對於大一些的並且帶有很多子模組的專案來講就跟耽誤時間。而常見的的方法無非就是修改HOST或者掛VPN,實際用起來並不穩定。 這裡提供一種新的方法

網站高防CDN是怎麼提高網站訪問速度和防護

       一提到網路加速,我們的腦海總會浮現CDN加速的身影。        為了讓大家更全面的瞭解CDN,在此來一篇《大話CDN》:        大話CDN之CDN背景篇        CDN,全稱是Content Delivery Network,即內容分發網