存儲+調優:存儲-memcached

存儲+調優:存儲-memcached

什么是memcached?
? ? 高性能的分布式內存緩存服務器。通過緩存數據庫的查詢結果,減少數據庫訪問次數,以提高動態Web應用的速度、提高可擴展性。

在memcached中存什么?
盡快被保存
訪問頻率高

1.數據保存方式 chunk
2.數據有效期
3.數據過期慵懶檢查
4.數據的存取 set get
5。通過應用程序訪問memcache


數據存儲方式
chunk


數據過期方式
? Lazy Expiration
memcached內部不會監視記錄是否過期,而是在get時查看記錄的時間戳,檢查記錄是否過期。這種技術被稱為lazy(惰性)expiration。因此,memcached不會在過期監視上耗費CPU時間。

? LRU
memcached會優先使用已超時的記錄的空間,但即使如此,也會發生追加新記錄時空間不足的情況,此時就要使用名為 Least Recently Used(LRU)機制來分配空間。顧名思義,這是刪除“最近最少使用”的記錄的機制。因此,當memcached的內存空間不足時(無法從slab class 獲取到新的空間時),就從最近未被使用的記錄中搜索,并將其空間分配給新的記錄。從緩存的實用角度來看,該模型十分理想。

[root@localhost tmp]# tar xf libevent-2.0.15-stable.tar.gz?
[root@localhost tmp]# cd libevent-2.0.15-stable
[root@localhost libevent-2.0.15-stable]# ./configure && make && make install
[root@localhost tmp]# tar xf memcached-1.4.5.tar.gz?
[root@localhost tmp]# cd memcached-1.4.5
[root@localhost memcached-1.4.5]# ./configure && make && make install
[root@localhost memcached-1.4.5]# ./memcached -h
[root@localhost memcached-1.4.5]# ./memcached -p 11211 -l 172.16.1.6 -u root -m 64 -c 10 -vvv -f 1.2 -n 60
slab class ? 1: chunk size ? ? ? ?96 perslab ? 10922
slab class ? 2: chunk size ? ? ? 120 perslab ? ?8738
slab class ? 3: chunk size ? ? ? 144 perslab ? ?7281
slab class ? 4: chunk size ? ? ? 176 perslab ? ?5957
slab class ? 5: chunk size ? ? ? 216 perslab ? ?4854
slab class ? 6: chunk size ? ? ? 264 perslab ? ?3971
slab class ? 7: chunk size ? ? ? 320 perslab ? ?3276
slab class ? 8: chunk size ? ? ? 384 perslab ? ?2730
slab class ? 9: chunk size ? ? ? 464 perslab ? ?2259
slab class ?10: chunk size ? ? ? 560 perslab ? ?1872
slab class ?11: chunk size ? ? ? 672 perslab ? ?1560
slab class ?12: chunk size ? ? ? 808 perslab ? ?1297
slab class ?13: chunk size ? ? ? 976 perslab ? ?1074
slab class ?14: chunk size ? ? ?1176 perslab ? ? 891
slab class ?15: chunk size ? ? ?1416 perslab ? ? 740
slab class ?16: chunk size ? ? ?1704 perslab ? ? 615
slab class ?17: chunk size ? ? ?2048 perslab ? ? 512
slab class ?18: chunk size ? ? ?2464 perslab ? ? 425
slab class ?19: chunk size ? ? ?2960 perslab ? ? 354
slab class ?20: chunk size ? ? ?3552 perslab ? ? 295
slab class ?21: chunk size ? ? ?4264 perslab ? ? 245
slab class ?22: chunk size ? ? ?5120 perslab ? ? 204
slab class ?23: chunk size ? ? ?6144 perslab ? ? 170
slab class ?24: chunk size ? ? ?7376 perslab ? ? 142
slab class ?25: chunk size ? ? ?8856 perslab ? ? 118
slab class ?26: chunk size ? ? 10632 perslab ? ? ?98
slab class ?27: chunk size ? ? 12760 perslab ? ? ?82
slab class ?28: chunk size ? ? 15312 perslab ? ? ?68
slab class ?29: chunk size ? ? 18376 perslab ? ? ?57
slab class ?30: chunk size ? ? 22056 perslab ? ? ?47
slab class ?31: chunk size ? ? 26472 perslab ? ? ?39
slab class ?32: chunk size ? ? 31768 perslab ? ? ?33
slab class ?33: chunk size ? ? 38128 perslab ? ? ?27
slab class ?34: chunk size ? ? 45760 perslab ? ? ?22
slab class ?35: chunk size ? ? 54912 perslab ? ? ?19
slab class ?36: chunk size ? ? 65896 perslab ? ? ?15
slab class ?37: chunk size ? ? 79080 perslab ? ? ?13
slab class ?38: chunk size ? ? 94896 perslab ? ? ?11
slab class ?39: chunk size ? ?113880 perslab ? ? ? 9
slab class ?40: chunk size ? ?136656 perslab ? ? ? 7
slab class ?41: chunk size ? ?163992 perslab ? ? ? 6
slab class ?42: chunk size ? ?196792 perslab ? ? ? 5
slab class ?43: chunk size ? ?236152 perslab ? ? ? 4
slab class ?44: chunk size ? ?283384 perslab ? ? ? 3
slab class ?45: chunk size ? ?340064 perslab ? ? ? 3
slab class ?46: chunk size ? ?408080 perslab ? ? ? 2
slab class ?47: chunk size ? ?489696 perslab ? ? ? 2
slab class ?48: chunk size ? ?587640 perslab ? ? ? 1
slab class ?49: chunk size ? ?705168 perslab ? ? ? 1
slab class ?50: chunk size ? ?846208 perslab ? ? ? 1
slab class ?51: chunk size ? 1048576 perslab ? ? ? 1
<26 server listening (auto-negotiate)
<27 send buffer was 110592, now 268435456
<27 server listening (udp)
<27 server listening (udp)
<27 server listening (udp)
<27 server listening (udp)


[root@node1 ~]# telnet 172.16.1.6 11211
Trying 172.16.1.6...
Connected to 172.16.1.6 (172.16.1.6).
Escape character is '^]'.

<27 server listening (udp)
<27 server listening (udp)
<27 server listening (udp)
<27 server listening (udp)
<28 new auto-negotiating client connection


[root@node1 ~]# telnet 172.16.1.6 11211
Trying 172.16.1.6...
Connected to 172.16.1.6 (172.16.1.6).
Escape character is '^]'.
set nothing 0 180 10 ? ----- 0:標識 ?180:過期時間 10:多少字節
1234567890
STORED
get nothing
VALUE nothing 0 10
1234567890
END


[root@node1 ~]# yum install httpd php
[root@node1 ~]# rpm -ivh php-pecl-memcache-2.1.2-1.el5.rf.i386.rpm?
[root@node1 ~]# cp test.php /var/www/html/
[root@node1 ~]# vim /var/www/html/test.php?
<?php
$memcache = new Memcache;
$memcache->connect('172.16.1.6',11211) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";
$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";

var_dump($get_result);
?>

[root@node1 ~]# service httpd start

[root@localhost ~]# elinks --dump http://172.16.1.1/test.php
? ?Server's version: 1.4.5
? ?Store data in the cache (data will expire in 10 seconds)
? ?Data from the cache:
? ?object(stdClass)#3 (2) { ["str_attr"]=> string(4) "test" ["int_attr"]=>
? ?int(123) }


apache + tomcat + memcached

apache 作為分發器
tomcat 提供web服務
mc ? ? 保證session同步


ip ?192.168.1.106
apache:
?? ?
?? ?yum install httpd httpd-devel gcc -y
?? ?
ajp1.3:
?? ?tar zxvf tomcat-connectors-1.2.32-src.tar.gz ?-C /tmp
?? ?cat /tmp/tomcat-connectors-1.2.32-src/BUILD.txt?
?? ?cd native
?? ? ./configure --with-apxs=/usr/sbin/apxs?
?? ?make && make install
?? ?cp ?../conf/httpd-jk.conf /etc/httpd/conf.d/jk.conf
?? ?vim /etc/httpd/conf.d/jk.conf
?? ?JkMount ? /*.jsp ? ? wlb ? ? ? ? ? ?
?? ?JkMount ? /manager/* ? ? wlb
?? ?
?? ?cp ?../conf/workers.properties /etc/httpd/conf
?? ?vim /etc/httpd/conf/workers.properties
?? ?worker.list=wlb,jkstatus
?? ?worker.wlb.type=lb
?? ?worker.wlb.balance_workers=tomcat1,tomcat2
?? ?worker.tomcat1.type=ajp13
?? ?worker.tomcat1.host=192.168.1.111
?? ?worker.tomcat1.port=8009
?? ?worker.tomcat1.lbfactor=1
?? ?worker.tomcat2.type=ajp13
?? ?worker.tomcat2.host=192.168.1.112
?? ?worker.tomcat2.port=8009
?? ?worker.tomcat2.lbfactor=1

?? ?/etc/init.d/httpd ?restart

ip ?192.168.1.111 192.168.1.112
jdk:
?? ?service httpd stop
?? ?chmod +x jdk-6u27-linux-i586.bin?
?? ?./jdk-6u27-linux-i586.bin?
?? ?mv jdk1.6.0_27/ /usr/local/jdk
?? ?vim /etc/bashrc
?? ??? ?export JAVA_HOME=/usr/local/jdk
?? ??? ?export JAVA_BIN=/usr/local/jdk/bin/
?? ??? ?export PATH=$JAVA_HOME/bin:$PATH
?? ??? ?export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
?? ??? ?export JAVA_HOME JAVA_BIN PATH CLASSPATH
?? ?source /etc/bashrc?
?? ?java -version
?? ?mv apache-tomcat-6.0.32 /usr/local/tomcat

tomcat:
?? ?tar zxf apache-tomcat-6.0.32.tar.gz?
?? ?mv apache-tomcat-6.0.32 /usr/local/tomcat
?? ?cd /usr/local/tomcat/bin?
?? ?./startup.sh?

cat >/usr/local/tomcat/webapps/ROOT/index.jsp <<EOF
<html>
<body bgcolor="red">
<center>
<%= request.getSession().getId() %>
<h1>Tomcat 1</h1>
</body>
</html>

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

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

相關文章

【CSharp】int類型與IntPtr類型之間的轉換

【CSharp】int類型與IntPtr類型之間的轉換 1.背景2.int轉IntPtr接口3.IntPtr轉int接口4.相互轉化示例1.背景 .NET提供了一個結構體System.IntPtr專門用來代表句柄或指針。 IntPtr 結構,表示一個帶符號整數,其中位寬度與指針相同。 注解 類型 IntPtr 設計為一個整數,其大小…

unity回到低版本報錯解決

用高版本2022打開過后的再回到2020就報了一個錯。 報錯如下&#xff1a; Library\PackageCache\com.unity.ai.navigation1.1.5\Runtime\NavMeshSurface.cs 看了一下是Library&#xff0c;然后我刪除了整個Library文件夾&#xff0c;重啟啟動生成Library&#xff0c;然后還是…

IT人的拖延——渴望成功與害怕成功的矛盾

很多人都以為&#xff0c;害怕失敗是拖延的主要誘因&#xff0c;但其實“害怕成功”也是拖延的主要誘因之一。要說這個原因&#xff0c;我們不得不提起Bible中的一個人“約拿”&#xff0c;讓我們先來看看他的故事帶給我們什么啟示。 約拿情結簡介 約拿是Bible中的一名先知&a…

二十九、openlayers官網示例DeclutterGroup解析——避免矢量圖層的文字重疊

官網demo地址&#xff1a; Declutter Group 這篇說的是如何設置矢量圖層上多數據點文字不重疊。 主要是屬性declutter &#xff0c;用于處理矢量圖層上重疊的標注和符號&#xff0c;為true時啟用去重疊功能。所有矢量特征的標注和符號都會被處理以避免重疊。false則與之相反。…

Nuxt - middleware 路由中間件

官方文檔&#xff1a;https://nuxt.com.cn/docs/guide/directory-structure/middleware 目錄 1 中間件類別2 中間件執行順序3 內聯路由中間件4 命名路由中間件5 全局路由中間件 1 中間件類別 內聯路由中間件&#xff0c;直接在頁面內定義。命名路由中間件&#xff0c;放置在 …

es安裝錯誤Exception in thread “main“ java.nio.file.NoSuchFileException解決方案

docker 啟動es出現一下錯誤的解決方案 Exception in thread “main” java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config/jvm.options Exception in thread "main" java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config/jvm.op…

香橙派OrangePi AIpro,助力國產AIoT邁向新的臺階!

前言&#xff1a;很高興受邀CSDN與OrangePi官方組織的測評活動&#xff0c;本次測評是一塊基于AI邊緣計算的香橙派開發板OrangePi AIpro。這是 香橙派 聯合 華為昇騰 合作精心打造的新一代邊緣AI計算產品&#xff0c;于2023年12月初發布&#xff0c;提供 8/20TOPS澎湃算力[1]&a…

Java | Leetcode Java題解之第102題二叉樹的層序遍歷

題目&#xff1a; 題解&#xff1a; class Solution {public List<List<Integer>> levelOrder(TreeNode root) {Queue<TreeNode> queue new LinkedList<>();List<List<Integer>> res new ArrayList<>();if (root ! null) queue.a…

Bean的一些屬性信息總結

我們知道&#xff0c;在Spring中&#xff0c;一個Bean可以理解為一個對象&#xff0c;但是二者之間肯定是有區別的&#xff0c;比如一個Bean可以實例化成很多個對象、Bean中可以帶有某些描述信息。 學習Bean&#xff0c;能更好地使用Bean。 1、Spring兩個核心概念的由來【可忽…

Git和plink

安裝git的話首先進入到git官網進行下載Git - Downloading Package (git-scm.com) &#xff0c;點擊便會自動進行下載。 安裝plink時也是根據自己電腦的版本號選擇進行安裝&#xff0c;我的是windows的64位&#xff0c;由此選擇以上版本進行安裝&#xff0c;這一個下載完成之后不…

python lxml安裝失敗怎么解決

通過pip install lxml 安裝lxml多次失敗&#xff0c;失敗原因總結如下&#xff1a; 1、pip版本未更新 解決方法&#xff1a;通過pip安裝時&#xff0c;需保證pip的版本沒有問題。 更新方法&#xff1a;在系統框輸入&#xff1a;python -m pip install --upgrade pip 2、下載…

oracle 還原被覆蓋的視圖

1.現在的視圖 select to_lob(text) from SYS.DBA_views where view_nameXXX; 2.查舊數據 --as of timestamp to_date(2024-05-28 10:30:00,yyyy-mm-dd hh24:mi:ss) select to_lob(text) from SYS.DBA_views as of timestamp to_date(2024-05-28 10:30:00,yyyy-mm-dd hh24:mi:s…

好消息!DolphinScheduler官網集成LLM模型問答AI kapa.ai

不少小伙伴可能發現了&#xff0c;Apache DolphinScheduler官網最近默默上線了kapa.ai作為LLM的問答AI。 集成kapa.ai之后&#xff0c;社區用戶可以點擊Apache DolphinScheduler官網首頁右下角的「Ask AI」模塊&#xff0c;在接下來彈出的問答框輸入自己的問題&#xff0c;即可…

python uiautomator2 常用操作

uiautomator2 安裝 python uiautomator2 安裝及使用-CSDN博客 一&#xff0c; 通過包名可以打開app d.app_start(com.gacne.www) 打開app運行后執行代碼&#xff0c;查看app具體信息獲取包名 d.info二&#xff0c;執行等待點擊 # 160秒內等待xpath定位的出現執行點擊 d.xpat…

mysql中單表查詢的成本

大家好。我們知道MySQL在執行一個查詢時&#xff0c;經常會有多個執行方案&#xff0c;然后從中選取成本最低或者說代價最低的方案去真正的執行查詢。今天我們來聊一聊單表查詢的成本。 那么到底什么是成本呢&#xff1f;這里我們說的成本或者代價是由兩方面組成的&#xff1a…

【踩坑】編譯opencv將python (for build) python2.7改為python3

轉載請注明出處&#xff1a;小鋒學長生活大爆炸[xfxuezhagn.cn] 如果本文幫助到了你&#xff0c;歡迎[點贊、收藏、關注]哦~ 出現問題 默認是2.7 解決方案 cmake時候添加&#xff1a; -D PYTHON_DEFAULT_EXECUTABLE$(which python3)

詳盡的Ubuntu 24.04 LTS安裝指南

Ubuntu安裝過程涉及多個步驟&#xff0c;下面是一個詳盡的Ubuntu 24.04 LTS安裝指南 ### 一、準備工作 **1. 系統要求** * **CPU**&#xff1a;至少2GHz雙核處理器。 * **內存**&#xff1a;推薦4GB或以上。 * **硬盤**&#xff1a;建議至少預留25GB可用空間。 * **U盤**&am…

02 Prometheus入門安裝教程

02 Prometheus入門安裝教程 大家好&#xff0c;我是秋意零。今天分享一篇入門級Prometheus安裝教程。 環境準備 三臺Linux虛擬機&#xff08;一臺也可以&#xff09; 準備Prometheus、相關組件安裝包 Prometheus官網下載安裝包比較慢&#xff0c;如果沒有魔法。可關注公眾號…

【UnityUI程序框架】The PureMVC Framework核心你會用嗎

&#x1f468;?&#x1f4bb;個人主頁&#xff1a;元宇宙-秩沅 &#x1f468;?&#x1f4bb; hallo 歡迎 點贊&#x1f44d; 收藏? 留言&#x1f4dd; 加關注?! &#x1f468;?&#x1f4bb; 本文由 秩沅 原創 &#x1f468;?&#x1f4bb; 收錄于專欄&#xff1a;Uni…

Python | Leetcode Python題解之第105題從前序與中序遍歷序列構造二叉樹

題目&#xff1a; 題解&#xff1a; class Solution:def buildTree(self, preorder: List[int], inorder: List[int]) -> TreeNode:if not preorder:return Noneroot TreeNode(preorder[0])stack [root]inorderIndex 0for i in range(1, len(preorder)):preorderVal pr…