Scaling Memcache at Facebook

Memcached 是一种众所周知的、简单的内存缓存解决方案。本文描述了 Facebook 如何利用 memcached 作为构建块来构造和扩展一个分布式键值存储支持世界上最大的社交网络。 1.Introduction 一个社交网络(FB)的基础架构通常需要以下 允许实时通信(近似,允许一定的延迟)

[转帖]Memory optimization

https://redis.io/docs/management/optimization/memory-optimization/ Strategies for optimizing memory usage in Redis Special encoding of small aggregate

[转帖]D. Memlock限制

https://www.intel.cn/content/www/cn/zh/docs/programmable/683633/1-2-1/memlock-limit.html 根据应用程序的要求,您可能还想增加用户进程可以锁定的最大内存量。确切的方法可能随Linux发行版的不同而不同。 使用uli

memtester 以及 mlc 简单学习

memtester 以及 mlc 简单学习 下载 memtester https://pyropus.ca./software/memtester/ 下载好后直接进行 make 和make install 就可以了. Intel MLC Intel® Memory Latency Checker 下

memcached的大key存储与slab钙化问题踩坑

## 背景 线上启用memcached(以下简称mc)作为热点缓存组件已经多年,其稳定性和性能都经历住了考验,这里记录一下踩过的几个坑。 ## 大key存储 某年某月某日,观察mysql的读库CPU占比有些异常偏高,去check慢查询log,发现部分应有缓存的慢sql居然存在几秒执行一次情况,不符合

MemArts :高效解决存算分离架构中数据访问的组件

摘要:计算侧需要一个高速的缓存层来消除计算集群和OBS之间的数据访问鸿沟。为了解决这个问题,提出MemArts CC分布式客户端缓存。 本文分享自华为云社区《华为云全新缓存生态组件MemArts》,作者: MichaelYun。 公有云的基础设施都是基于存算分离的架构,即计算任务运行在计算集群的虚拟

每日一库:Memcache

`Memcache` 是一个高性能、分布式的内存缓存系统,常用于缓存数据库查询结果、API调用结果、页面内容等,以提升应用程序的性能和响应速度。下面详细介绍一些 `Memcache` 的特点和使用方式: 1. **内存缓存:** `Memcache` 是一种基于内存的缓存系统,数据存储在内存中,因此

使用.NET7和C#11打造最快的序列化程序-以MemoryPack为例

## 译者注 本文是一篇不可多得的好文,MemoryPack 的作者 neuecc 大佬通过本文解释了他是如何将序列化程序性能提升到极致的;其中从很多方面(可变长度、字符串、集合等)解释了一些性能优化的技巧,值得每一个开发人员学习,特别是框架的开发人员的学习,一定能让大家获益匪浅。 ## 简介 我发

[转帖]Native Memory Tracking 详解(1):基础介绍

https://www.modb.pro/db/516032 0.引言 我们经常会好奇,我启动了一个 JVM,他到底会占据多大的内存?他的内存都消耗在哪里?为什么 JVM 使用的内存比我设置的 -Xmx 大这么多?我的内存设置参数是否合理?为什么我的 JVM 内存一直缓慢增长?为什么我的 JVM 会

[转帖]Native Memory Tracking 详解(2):追踪区域分析(一)

https://www.modb.pro/db/529363 上篇文章 Native Memory Tracking 详解(1):基础介绍 中,分享了如何使用NMT,以及NMT内存 & OS内存概念的差异性,本篇将介绍NMT追踪区域的部分内存类型——Java heap、Class、Thread、Co

[转帖]Native Memory Tracking 详解(3):追踪区域分析(二)

https://www.modb.pro/db/539804 上篇文章 Native Memory Tracking 详解(2):追踪区域分析(一) 中,分享了NMT追踪区域的部分内存类型——Java heap、Class、Thread、Code 以及 GC,本篇图文将介绍追踪区域的其它内存类型以及

[转帖]overcommit_memory、overcommit_ratio、CommitLimit、Committed_AS概念

overcommit_memory、overcommit_ratio、CommitLimit、Committed_AS概念 overcommit_memory是一个内核对内存分配的一种策略。 overcommit_memory取值有三种分别为0, 1, 2。 overcommit_memory=0,

overcommit_memory的简单学习

overcommit_memory的简单学习 背景 前几天一个测试环境启动失败. 总是有如下的提示: Native memory allocation (mmap) failed to map 12288 bytes for committing reserved memory. 当时看free 其

[转帖]Native Memory Tracking 详解(4):使用 NMT 协助排查内存问题案例

https://www.modb.pro/db/557714 从前面几篇文章,我们了解了 NMT 的基础知识以及 NMT 追踪区域分析的相关内容,本篇文章将为大家介绍一下使用 NMT 协助排查内存问题的案例。 6.使用 NMT 协助排查内存问题案例 我们在搞清楚 NMT 追踪的 JVM 各部分的内存

.NET性能优化-使用RecyclableMemoryStream替代MemoryStream

提到MemoryStream大家可能都不陌生,在编写代码中或多或少有使用过;比如Json序列化反序列化、导出PDF/Excel/Word、进行图片或者文字处理等场景。但是如果使用它高频、大数据量处理这些数据,就存在一些性能陷阱。 今天给大家带来的这个优化技巧其实就是池化MemoryStream的版本

[转帖]理解 postgresql.conf 的work_mem 参数配置

https://developer.aliyun.com/article/401250 简介: 主要是通过具体的实验来理解 work_mem 今天我们着重来了解 postgresql.conf 中的 work_mem 参数 官方文档描述如下: 指定在写入临时文件之前内部排序操作和散列表使用的内存量。

[转帖]TIDB-Error 1105: Out Of Memory Quota问题解决

一、背景 复杂sql查询报错 二、原因 单条s q l使用内存默认为1G 三、解决 tiup cluster edit_config tidb-test server_configs: tidb: mem-quota-query: 4294967296 # 修改大小 tiup cluster rel

[转帖]Linux内核Memory Barrier

https://zhuanlan.zhihu.com/p/138886949 硬件模型 Memory barrier跟cache的实现有很强的相关性, 掌握cache的实现硬件对理解memory barrier很有帮助. 以基本的MESI协议为例, 它主要实现了4种状态: Modified. Cac

一次典型的Memroy Leak的跟踪学习过程

背景 周四时某项目在QQ群里说自己的系统出现了CPU占用较高的情况. TOP 查看发现大部分占用CPU的都是 JAVA核心进城后附近的进程. 所以初步怀疑 是出现了FullGC的问题. 然后群里反馈了dump 以及 tracelog等内容 进行了简单的分析, 这里总结一下, 备忘 关于GC进程 ja

[转帖]linux中 vm.overcommit_memory 的含义

https://www.cnblogs.com/wshenjin/p/15500202.html vm.overcommit_memory 表示内核在分配内存时候做检查的方式。这个变量可以取到0,1,2三个值。对取不同的值时的处理方式都定义在内核源码 mm/mmap.c 的 __vm_enough_