草庐IT

innodb-performance-optimization

全部标签

performance - Redis 设置性能问题

我正在尝试对我的redisSUNION命令进行基准测试。在基准测试中,其中一组包含约1000个元素,而其他包含约10个元素。每次调用的执行顺序约为0.52毫秒。这是理想的性能还是我错过了conf文件中的一些调整设置。我正在尝试使用基本集合操作对对象实现标签过滤。对于前。obj1->{id-1颜色红色位置x}obj1->{id-1colorredlocationx}obj2->{id-2颜色黄色位置y}obj3->{id-3clour红色位置y}为了存储,我使用集合来存储每个维度的对象ID。因此颜色:红色->{1,3}颜色:黄色->{2}位置:x->{1}location:y->{2,3

performance - 如何在读取哈希键时避免多次调用 redis

我正在将hashmap缓存到redis并按以下方式读取特定的hashkey:varhashValue=redis.HashGet(rediskey,hashkey)//RedisCall#1if(hashValue==null&&!redis.KeyExist(rediskey))//RedisCall#2{//loadfromsqlandcacheittoredis}else{returnhashValue;}我正在努力避免必须对Redis进行2次调用。请就如何解决这个问题提出建议,并在一次redis调用中完成。 最佳答案 您可以

performance - Redis 是执行大规模计算的好选择吗?

目前正在从oracle数据库中拉取大量数据,然后在web端进行计算生成HTML报告。我正在使用Groovy和Grails框架来生成报告。现在的问题是,我们的计算量非常大,在网页端生成报告需要花费大量时间。我正计划重新构建我的报告,因此它可以非常快速地生成报告。我对ORACLE数据库没有任何命令,因为它是第三方生产数据库。我不想对数据库进行任何复制,因为它有数百万条记录,所以无法安排和复制它会减慢生产速度。我终于想出了一些缓存架构,它的性能就像一些计算引擎。任何人都可以通过提供最佳解决方案来帮助我吗?谢谢 最佳答案 您的数据结构是什么

performance - Redis 2.4/CentOS 6.2 网络吞吐量每 4 分钟下降一次...Redis...或客户端相关?

昨天我们在Redis2.4/CentOS6.2缓存服务器上遇到了一些奇怪的性能下降。它们每4分钟循环一次。这是来自主服务器NewRelic的屏幕截图:https://www.evernote.com/shard/s368/sh/28312f97-60a9-45ab-a27e-b31abb5c7cce/8fb69edd1206c228fcc444330f1909ec这是同一时期的奴隶之一:https://www.evernote.com/shard/s368/sh/802b01bc-294d-46a5-adaa-f64e2e8c8bd2/6cbe244d4570fae63ee412cd1

performance - Redis 缓存读取性能 - 根键/值对与层次结构?

假设我想存储用户偏好...像这样简单的东西:{"favoriteColor":"green","bestFriends":["Tom","Jenny","Horton"]}将其存储在Redis缓存中(针对读取进行了优化)的最佳、最高效的方法是什么?假设UserId=123注意:下面我使用Redis文档的方式来表示各种结构。参见here.就在根中的简单、扁平、键/值对?user-123-favoriteColor=green(thisisaSTRINGtype)user-123-bestFriends=1)"bestFriends"(SETTYPE)2)"Tom"3)"Jenny"4)"

mongodb - 解决 Overembedding MongoDB with Slow Down performance

目前我在一个存在严重过度嵌入问题的项目中工作,因为在一个集合中只有3个对象(数组)位于其中,其中几乎包含应用程序业务模型的70%(我们收到了这个来自其他开发团队的项目,是一个完整的挑战)。另一个问题是,该应用程序使用实时跟踪地理定位,并持续使用此集合。我的提示是,我完全确定数据库服务器中的过载问题和应用程序在几个小时内变慢的原因是过度嵌入。我们认为解决方案是建立一个新的数据库模式(理解MongoDB是无模式的,但不是限制),尝试用低引用规范化树集合中的这三个对象(像关系模型一样模拟外键),但是,例如,您建议使用旧(当前)数据库设计和制作数据仓库,只进行读取查询,只迁移用户数据或将所有数

performance - 从 Redis SETS 获取数据是否比 HSETS 更快或更高效?

我目前有一个场景,我们使用REDIS在散列集HSET中存储字符串field-value对。使用散列集而不是集合的最初原因是在GUI搜索栏中使用HSCAN检索记录比仅仅使用SCAN更容易,因为它更容易获取要在COUNT字段中使用的散列长度。我在Redis文档中读到,GET和HGET命令的执行时间复杂度为O(1),但我的团队成员认为,如果我存储所有单个键中的值,然后它基本上在HGET期间返回整个哈希,而不是我需要的单个field-value。所以对于一个虚构但相似的例子:我有一个Redis实例,其中包含一个名为users的哈希集。散列集有150,000个field:value对userna

performance - 使用 Stackexchange.Redis 的 MGET 调用在负载下变得越来越慢

我有一个在AWSECS的linux容器中运行的ASP.NetCoreWebAPI。此API主要从Redis获取数据,但如果不存在,则会回退到数据库(我们设计了99.99%的数据都在Redis缓存中)。我有一个相当高的负载,大约1-2KRPS(当然对你们中的一些人来说可能是中到小;-)。此API通过MGET(20-60之间的任意位置)为每个请求查找多个键。一切都是异步的,没有同步代码或等待或其他容易发生死锁的代码。RPS上升得越多,事情就会变得越来越慢。我还尝试了PreserveAsyncOrder=false,但情况似乎更糟。我认为我的Redis服务器(位于Elasticache中)不

performance - LREM 一个 "big"字符串或 SET/GET + LREM 一个 "small"字符串

我希望这不会成为一个开放式问题。我正在使用RPOPLPUSH实现reliablequeue我正在尝试评估直接在列表中具有(可能很大的)字符串值(例如JSON)或在列表中只有一个“键”并使用SET存储/检索值之间的权衡/GET(即2个额外调用),在本例中为LREM仍然是O(N),但是字符串越小,性能应该越好。我没有考虑到什么? 最佳答案 你应该自己测试一下。也就是说,内存分配/解除分配比网络更快,因此大字符串的性能可能会更好。 关于performance-LREM一个"big"字符串或SE