提高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(一億左右的數據量)的話,不知道會怎么樣,請拭目以待。

轉載于:https://www.cnblogs.com/cuihongyu3503319/p/9473416.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/397210.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/397210.shtml
英文地址,請注明出處:http://en.pswp.cn/news/397210.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

哲學到編程:思想的實例化

萬古長江水,千年儒釋道。歷史的長流中,蕓蕓眾生,參差不齊,但總是能夠總結出一個“生旦凈末丑”來。儒、釋、道,五千年的中華文化,卻總是圍繞著這三種主流思想交相演繹。千年間,豪士俊杰&#xf…

python 字符串交集_Python序列--集合(set)

集合集合用于保存不重復元素。- 集合和列表非常相似- 不同點:1.集合中只能存儲不可變對象2.集合中存儲的對象是無序(不是按照元素的插入順序保存)3.集合中不能出現重復的元素集合的所有元素都放在一對”{ }” 中,兩個相鄰的元素之間用”,”分隔。集合最好…

mysql binlog日志查看及解碼

mysql bin log日志導出 mysqlbinlog mysql-bin.000005 > /home/17bin.log 需要添加參數(--base64-outputdecode-rows -v)對輸出結果解碼 mysqlbinlog --base64-outputdecode-rows -v mysql-bin.000005 > /home/17bin.log轉載于:https://www.cnbl…

【Python開發】Python的GUI用法總結

引用模塊(tkinter): 1 from tkinter import * 主窗口設置: 1 # 主窗口 2 tk Tk() # 主窗口實例化 3 tk.title("文本處理工具") # 主窗口標題 4 tk.geometry("700x4001001…

JAVA 環境變量配置

JAVA 環境變量配置 1. 安裝JDK 2.配置系統變量 新建          JAVA_HOME:D:\Program Files\Java\jdk1.8.0_65 Path添加       %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 新建CLASSPATH  .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 3.完成…

8修改host_正點原子【STM32-F407探索者】第五十九章 USB 鼠標鍵盤(Host)實驗

1)資料下載:點擊資料即可下載2)對正點原子Linux感興趣的同學可以加群討論:9354467413)關注正點原子公眾號,獲取最新資料更新上一章我們向大家介紹了如何利用 STM32F4 的 USB HOST 接口來驅動 U 盤,本章,我們 將利用 ST…

CF815C Karen and Supermarket [樹形DP]

題目傳送門 Karen and Supermarket On the way home, Karen decided to stop by the supermarket to buy some groceries. She needs to buy a lot of goods, but since she is a student her budget is still quite limited. In fact, she can only spend up to b dollars. Th…

linux命令積累之egrep命令

學搭建Nginx環境,必須要配置的Nginx.conf文件中,如下:#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worke…

Sublime Text 3 安裝及插件推薦

本篇介紹跨平臺編輯器Sublime Text 3的安裝和其插件推薦。 目錄: 1.介紹 2.下載安裝 3.插件 4.參考資料 1.介紹 Sublime Text具有漂亮的用戶界面和強大的功能,例如代碼縮略圖,Python的插件,代碼段等。還可自定義鍵綁定&#xff0c…

6工程文件夾作用_data_dragon數據工程小工具收集

最近在GitHub上創建了一個新工程,收集個人在數據工程工作的小工具集合,命名為data_dragon (數據一條龍)。取這個名字的是希望這些腳本或代碼能夠復用,端到端地減少臨時數據處理的時間。最近因為工作上的一些變化,寫作節奏有點被打…

暑假第十七測

題解&#xff1a; 第一題 #include<bits/stdc.h> using namespace std; #define ll long long const int M 1e5 10; ll a[M], b[M], ans; priority_queue <ll, vector<ll> , greater<ll> > Q; int main(){freopen("buy.in","r",…

Uva 11354 LCA 倍增祖先

題目鏈接&#xff1a;https://vjudge.net/contest/144221#problem/B 題意&#xff1a;找一條從 s 到 t 的路&#xff0c;使得瓶頸路最小。 點的數目是10^4&#xff0c;如果向之前的方案求 maxcost數組&#xff0c;O(n*n)時間是過不了的&#xff0c;這個時候&#xff0c;用到了…

Nginx搭建flv視頻點播服務器

Nginx搭建flv視頻點播服務器前一段時間使用Nginx搭建的多媒體服務器只能在緩沖過的時間區域內拖放, 而不能拖放到未緩沖的地方. 這就帶來了一個問題: 如果視頻限速的速率很小, 那么客戶端觀看視頻時肯定不流暢, 而且用戶不能向前拖放, 用戶體驗很不好. 如果視頻限速的速率很大或…

編碼拾遺

1 #!/usr/bin/env python32 #-*- coding:utf-8 -*-3 4 Administrator 5 2018/8/16 6 7 8 # fopen("demo","r",encoding"utf8")9 # dataf.read() 10 # print(data) 11 # f.close() 12 13 14 # print("沈哲子") 15 16 s"中國&qu…

Xcode:Foundation框架找不到,或者是自動提示出現問題

問題描述&#xff1a;Foundation框架找不到&#xff0c;或者是自動提示出現問題 之前的操作&#xff1a;手賤&#xff0c;不少心把編譯器里面的源碼改了處理辦法&#xff1a;清理緩存緩存位置&#xff1a;點擊桌面后&#xff0c;選擇系統菜單欄&#xff1a;前往—電腦—硬盤—用…

mybatis 不生效 參數_Mybatis-日志配置

日志Mybatis 的內置日志工廠提供日志功能&#xff0c;內置日志工廠將日志交給以下其中一種工具作代理&#xff1a;SLF4JApache Commons LoggingLog4j 2Log4jJDK loggingMyBatis 內置日志工廠基于運行時自省機制選擇合適的日志工具。它會使用第一個查找得到的工具(按上文列舉的順…

PS通過濾色實現簡單的圖片拼合

素材如下&#xff1a; 素材一&#xff1a; 雪山 素材二&#xff1a; 月亮 效果&#xff1a; 實現步驟 1、在PS中打開雪山素材一 2、將月亮素材直接拖入雪山所在的圖層中 3、鎖定置入素材的高寬比&#xff08;點擊一下鏈狀按鈕&#xff09; 4、調整月亮到合適大小合適位置 5、…

預處理:主成分分析與白化

主成分分析 引言 主成分分析&#xff08;PCA&#xff09;是一種能夠極大提升無監督特征學習速度的數據降維算法。更重要的是&#xff0c;理解PCA算法&#xff0c;對實現白化算法有很大的幫助&#xff0c;很多算法都先用白化算法作預處理步驟。 假設你使用圖像來訓練算法&#x…

jQuery Ajax

jQuery load()方法&#xff1a;是簡單但強大的Ajax 方法load() 方法從服務器(URL,data,callback);必須的URL 參數規定您希望架加載的URL可選的data參數 規定與請求一同發送的差字符串鍵/值對集合。可選的callback參數時load()方法完成后所執行的函數名稱$(documnet).ready(…

swagger 修改dto注解_Web服務開發:Spring集成Swagger,3步自動生成API文檔

目錄&#xff1a;1&#xff0c;Spring Boot集成Swagger2&#xff0c;Swagger接口文檔頁面3&#xff0c;常見問題和解決方法在Sping開發REST接口服務時&#xff0c;API文檔是不可缺少的一個重要部分。Swagger框架定義了完整的REST接口文檔規范&#xff0c;提供了強大的頁面測試功…