成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ServiceStack.Redis的問題與修正

數據庫 Redis
Redis是開源、高性能的Key-value存儲引擎。最近我們在一個日訪問量約1kw的網站上使用redis替換以前的memcache,成功將CPU從30%下降到15%,效果相當顯著。

Redis是開源、高性能的Key-value存儲引擎。

最近我們在一個日訪問量約1kw的網站上使用redis替換以前的memcache,成功將CPU從30%下降到15%,效果相當顯著。

ServiceStackRedis是***的C#驅動之一。關于如何使用ServiceStackRedis請參見這里——使用ServiceStackRedis鏈接Redis簡介

不過我們在使用ServiceStackRedis的線程池(PooledRedisClientManager)還是碰到了不少問題。

1 鏈接數異常。

一個webserver會占用80個鏈接。當15臺webserver就過千了,這時會出現有些客戶端鏈接不上的情況。

解決方案:

GetInActiveWriteClient方法中

  1. //找下一個目標 
  2. //從當前讀寫指針的后面開始查找,而不是從0開始 
  3. var nextIndex = (WritePoolIndex + i) % writeClients.Length; 
  4. 更改為 
  5. var nextIndex = i; 

同時修改DisposeClient方法中將readClient.Active == false將DisposeConnection一下。線程就能很好的回收了。

效果:

在我們這樣一個網站下,單臺webserver大約會占用10個~15個鏈接,比之前的80個少了不少。

分析:

從代碼上來看,作者的初衷是為了更快的找到空閑的線程,但是卻認所有線程都不間斷的使用,沒有一個線程可能空閑。如果站點較小,webserver不太多,不改問題也不大。不過我認為用長鏈接并不劃算,因為與redis建立一個鏈接還是相對比較“便宜”的。

2 多臺redis存儲相同的內容。

相同的內容會冗余在所有redis中

解決方案

在GetInActiveWriteClient中加入int型參數來標識出使用那臺redis

  1. var start = 0
  2. var step = 1
  3. if (index > -1 && index < ReadWriteHosts.Count) 
  4.   start = index; 
  5.   step = ReadWriteHosts.Count; 
  6. //遍歷讀寫池 
  7. //這個時候池是鎖定的 
  8. for (var i = start; i < writeClients.Length; i += step) 
  9.   省略 

這樣線程池中就會按ReadWriteHosts的個數來順序分配。

效果:

在進行讀寫時只需要使用key.GetHashCode方法獲得一個hash值就能準確分配到其中一臺redis上。保證所有的redis的數據不重復。

原文鏈接:http://www.cnblogs.com/goodspeed/archive/2011/07/26/servicestack_redis_optimize.html

【編輯推薦】

  1. 幾點建議,讓Redis在你的系統中發揮更大作用
責任編輯:艾婧 來源: Goodspeed's Blog
相關推薦

2009-02-06 10:56:45

Windows 7漏洞UAC

2023-10-10 23:06:46

RedisMySQL

2024-12-02 09:10:15

Redis性能優化

2023-10-08 13:10:00

Redis數據庫

2009-11-12 09:42:51

Linux版本Linux問題修正

2023-10-13 12:05:55

RedisBig Key

2025-02-04 17:40:44

2024-05-23 07:59:42

RedisKey性能

2024-12-02 01:16:53

2024-04-11 13:45:14

Redis數據庫緩存

2024-05-15 07:26:50

RedisBigKey優化

2021-10-13 10:32:37

算法Facebook技術

2020-07-17 21:15:08

Redis內存數據庫

2024-07-01 08:04:38

2022-06-06 09:56:38

編程語言Python

2024-06-17 08:24:09

2019-10-23 09:00:06

Redis數據庫

2020-09-21 14:15:58

Redis數據庫命令

2014-05-13 15:00:59

2014-07-22 09:51:19

面板數據分析
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产成人精品久久久国产成人一区 | 国产精品国产三级国产aⅴ无密码 | 天堂中文资源在线 | 日本视频免费观看 | 中文字幕一区二区三区精彩视频 | 国产亚洲精品一区二区三区 | 亚洲免费精品一区 | 亚洲精品中文字幕在线观看 | 久久99久久 | 99精品免费视频 | 欧美日韩中文字幕在线 | 国产视频一区二区在线观看 | 成人一级视频在线观看 | 久久精品91久久久久久再现 | 亚洲视频二区 | 亚洲国产成人av好男人在线观看 | 久久久久中文字幕 | 999热精品 | 国产精品久久欧美久久一区 | 狠狠干av| 亚洲成人av一区二区 | 国产在线一区二区 | 欧美福利专区 | 999精品视频| 97伦理电影网 | 欧美自拍一区 | 国产精品久久久久久久久久久新郎 | 国产综合在线视频 | 久久999 | 黄色大片毛片 | 欧日韩在线| 成人久久久久久久久 | caoporn地址| 看羞羞视频免费 | 日韩at| 免费激情网站 | 久久久国产精品 | 欧美视频三区 | 伊人影院99 | 欧美天堂| 中文字幕国产视频 |