以下是Redis常見的效能問題有哪些?
Master寫記憶體快照,save指令調度rdbSave函數,會阻塞主執行緒的工作,當快照比較大時對效能影響是非常大的,會間斷性暫停服務,所以Master最好不要寫記憶體快照。 (推薦學習:Redis影片教學)
Master AOF持久化,如果不重寫AOF文件,這個持久化方式對效能的影響是最小的,但是AOF文件會不斷增大,AOF文件過大會影響Master重啟的恢復速度。
Master呼叫BGREWRITEAOF重寫AOF文件,AOF在重寫的時候會佔大量的CPU和記憶體資源,導致服務load過高,短暫服務暫停現象。
下面是我的一個實際專案的情況,大概情況是這樣的:
一個Master,4個Slave,沒有Sharding機制,只是讀寫分離,Master負責寫入作業和AOF日誌備份,AOF檔大概5G,Slave負責讀取作業,當Master呼叫BGREWRITEAOF時,Master和Slave負載會突然陡增,Master的寫入請求基本上都回應了,持續了大概5分鐘,Slave的讀請求過半也無法及時回應,上面的情況本來不會也不應該發生的,是因為以前Master的這個機器是Slave,在上面有一個shell定時任務在每天的上午10點調用BGREWRITEAOF重寫AOF文件,後來由於Master機器down了,就把備份的這個Slave切成Master了,但是這個定時任務忘記刪除了,就導致了上面悲劇情況的發生,原因還是找了幾天才找到的。
將no-appendfsync-on-rewrite的配置設為yes可以緩解這個問題,設定為yes表示rewrite期間對新寫入操作不fsync,暫時存在記憶體中,等rewrite完成後再寫入。最好是不開啟Master的AOF備份功能。
Redis主從複製的效能問題,第一次Slave向Master同步的實作是:Slave向Master發出同步請求,Master先dump出rdb文件,然後將rdb文件全量傳送給slave,然後Master把快取的指令轉寄給Slave,初次同步完成。第二次以及以後的同步實作是:Master將變數的快照直接即時依序傳送給各個Slave。不管什麼原因導致Slave和Master斷開重連都會重複以上過程。 Redis的主從複製是建立在記憶體快照的持久化基礎上,只要有Slave就一定會有記憶體快照發生。雖然Redis宣稱主從複製無阻塞,但由於磁碟io的限制,如果Master快照檔案比較大,那麼dump會耗費比較長的時間,這個過程中Master可能無法回應請求,也就是說服務會中斷,對於關鍵服務,這個後果也是很可怕的。
以上1.2.3.4根本問題的原因都離不開系統io瓶頸問題,也就是硬碟讀寫速度不夠快,主程序 fsync()/write() 操作被阻塞。
單點故障問題,由於目前Redis的主從複製還不夠成熟,所以存在明顯的單點故障問題,這個目前只能自己做方案解決,如:主動複製,Proxy實作Slave對Master的替換等,這個也是Redis作者目前比較優先的任務之一。
更多Redis相關技術文章,請造訪Redis資料庫使用入門教學欄位學習!
以上是redis效能有哪些問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Redis是现在最热门的key-value数据库,Redis的最大特点是key-value存储所带来的简单和高性能;相较于MongoDB和Redis,晚一年发布的ES可能知名度要低一些,ES的特点是搜索,ES是围绕搜索设计的。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于redis的一些优势和特点,Redis 是一个开源的使用ANSI C语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式存储数据库,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis Cluster集群收缩主从节点的相关问题,包括了Cluster集群收缩概念、将6390主节点从集群中收缩、验证数据迁移过程是否导致数据异常等,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于原子操作中命令原子性的相关问题,包括了处理并发的方案、编程模型、多IO线程以及单命令的相关内容,下面一起看一下,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了bitmap问题,Redis 为我们提供了位图这一数据结构,位图数据结构其实并不是一个全新的玩意,我们可以简单的认为就是个数组,只是里面的内容只能为0或1而已,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,下面一起来看一下,希望对大家有帮助。

redis error就是redis数据库和其组合使用的部件出现错误,这个出现的错误有很多种,例如Redis被配置为保存数据库快照,但它不能持久化到硬盘,用来修改集合数据的命令不能用。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境