草庐IT

emp_performance

全部标签

performance - 跟进 [Segmenting Redis By Database] 的 Q

这是一个后续问题SegmentingRedisByDatabase.我最初问的是一个redis实例内不同数据库的rediskeys操作的时间复杂度。我问的原因是因为我试图在有x多段键的地方实现一个缓存,每个键都可能有y实际数据实例,导致xy总键数。不过,我想支持主键的通配符搜索,似乎在redis中唯一实现的键的通配符查询是keys命令,使用它气馁。在我看来,将x键放在一个单独的数据库中似乎是一个不错的折衷方案,在该数据库中,较少数量的键将进行keys操作表现令人满意。谁能提出更好的选择?谢谢。 最佳答案 我仍然认为使用KEYS确实无

Erlang 和 Redis : read performance

我在尝试从Redis排序集中读取1M记录时突然遇到性能问题。我使用了ZSCAN,光标和批量大小为5K。代码是在托管Redis的同一台机器上使用ErlangR14执行的。接收5K元素批处理需要将近1秒。不幸的是,我在这台机器上编译ErlangR16失败了,但我认为这没有关系。相比之下,带有node_redis(hiredis解析器)的Node.js代码在2秒内完成1M。Python和PHP的结果相同。也许我做错了什么?提前致谢。这是我的Erlang代码:-module(redis_bench).-export([run/0]).-define(COUNT,5000).run()->{_,

performance - 平衡 Redis 查询和进程内内存?

我是一名软件开发人员,但想成为服务器可扩展性领域的新架构师。在多个服务使用同一数据集的情况下,旨在扩展冗余和负载平衡。问题是:在一个理想主义的系统中,服务是否应该尝试优化它们的内部处理以减少对远程服务器缓存的查询量,从而以牺牲一些本地内存和代码库为代价来获得更好的性能和更少的带宽,或者是每次任何事务需要对数据进行处理时,最好都将远程缓存作为单个事务点进行查询吗?当我在网上阅读有关Redis甚至一般数据库用法的信息时,后者似乎是常见的选择。扩展应用程序的每个节点都没有内存,并且在每个事务中直接读取和写入远程缓存。但是作为开发者,请问这不是极大的资源浪费吗?无论您是在电子芯片级别、线程间、

performance - 可能在 redis 中使用 lua 将存储在集合中的所有 key 作为哈希列表返回?

我有一个结构data_type:key1-hashdata_type:key2-hashdata_type:key3-hashdata_type:key4-hashdata_type:key5-hashdata_type:index-set(key1,key2,key3,key4,key5)是否可以使用redis中的lua构建一个脚本,该脚本将遍历集合data_type:index并将所有data_type:key*作为哈希列表返回?我仍在学习Lua,所以在我的脑海中,我认为它会像这样工作collect=[]forkey_nameinredis.call.smemembers('dat

performance - Redis Windows,性能问题

我在Windows上运行Redis,但遇到了一些性能问题。该机器是XeonE5,具有32GMRAM和SSD,具有HW-Raid和WindowsServer2012。还有一些其他进程正在运行,但它们并不关键,大部分时间处于空闲状态。我经常注意到性能问题和操作超时,所以我启动了“redis-cli--intrinsic-latency100”。输出显示最大延迟上升到15000微秒,我认为这非常慢。我还运行了一个内存分析器:读/写性能不是很好(5GB/秒),但我认为这不应该是瓶颈。目前我完全不知道该尝试什么。你能给我一些如何找到性能问题的提示吗? 最佳答案

ruby-on-rails - Rails 如何判断 sidekiq worker 是否已完成 perform_async

我正在努力将广泛的后台任务外推给sidekiq工作人员(第一次使用sidekiq)。我已经能够让它正常运行。但我不确定如何检查sidekiqworker的进度-检查worker是否已完成perform_async函数的最佳方法是什么?AutoWorkersidekiq任务:classAutoWorkerincludeSidekiq::Workerdefperform(lead_id,cars)logger.info"WORKERCREATED"lead=Lead.find(lead_id)response=ZipCodeCheck.new(cars:cars,lead:lead).ex

performance - 如何使用大小为数百 MB 的虚拟数据用 redis-cli 填充 redis?

我正忙着处理Redis监控。到目前为止,我想出了这个对监控redis有用的指标:已用内存吞吐量延迟关系复制我是这方面的新手。我正在尝试使用虚拟数据从redis-cli填充redis,如下所示:因为我在`seq10000000`中;做redis-cliSETusers:app"{id:'$i',name:'name$i',address:'address$i'}";完毕但这并不能满足我足够快地填充redis-db的需要……我还需要一些有关延迟和吞吐量监控的帮助。我知道它们的意思,但我不知道如何衡量它们...我的眼睛在redis-cliinfo的输出中看不到任何相关内容谢谢,支持/指导:D

performance - 使用 Redis 跟踪在线用户的 2 种方法。哪个更快?

最近我发现了一篇不错的博文,介绍了在Redis的帮助下跟踪网站在线用户的两种方法。1)智能key和设置它们的到期时间http://techno-weenie.net/2010/2/3/where-s-waldo-track-user-locations-with-node-js-and-redis2)集合-s和相交http://www.lukemelia.com/blog/archives/2010/01/17/redis-in-practice-whos-online/你能判断哪个应该更快吗?为什么? 最佳答案 要了解特定用户是否

performance - Redis:查找存在的键

我们有一个存储在redis中的数字列表作为键(3亿个键,它们是10位数字键)。我们的用户给了我们一个包含大约100万个数字的列表,并期望我们得到这些数字中不存在于redis中的一个子集作为键。期望在亚秒级内得到结果,我们一直在尝试使用Redis来达到同样的目的。最初它看起来像是正确的方法(使用EXISTS),但现在我们质疑是否有更好的方法可以在不循环遍历这些数字并创建子集的情况下得到结果。有人可以告诉我们如何才能有效地做到这一点吗? 最佳答案 我知道这是个老问题,但我认为它应该得到更完整的答案。从redis获取所有key然后进行包含

ruby-on-rails - Sidekiq:NoMethodError:未定义的方法 `perform'

这是我正在尝试做的事情:2.1.2:001>UpdateStyleRanks.perform_async这里是错误:NoMethodError:undefinedmethod`perform'for#这是我的worker:#app/workers/update_style_ranks.rbclassUpdateStyleRanksincludeSidekiq::Workerdefperformendend 最佳答案 worker没有命名要求。你可以这样做:classFooincludeSidekiq::Workerdefperfor