问题标签 [membase]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Tomcat 使用 Jersey Jax-RS 在单个服务器上执行 15K 请求/秒
我尝试在 VPS 上进行测试,结果接近每秒 10K 的请求,这是一个simple 'hello world' servlet
. 更不用说调用 membase 了。
我的 VPS 是 2 x Intel Xeon X5570,四核“Nehalem”架构。
注意:我不是 java 专家,也不是 tomcat 专家,这是默认设置。
还有其他人可以处理如此高的流量吗?
我使用了 apache bench,大概运行了 4-5 次,向服务器发出了大约 100K 的请求。
nosql - membase key-heavy内存使用与redis
我最近用 membase 进行了一个测试,增加了 6000 万个键,每个键的大小为 20-30 字节,值小于整数的值。该集群跨越 3 个 16 GB 的盒子,其中 15 GB 专用于 membase 中的单个存储桶(复制 = 1)。该构建membase-server-community_x86_64_1.7.1.1
基于 64 位 ubuntu Lucid 盒子。
结果:
最初,1000 万个密钥驻留在 3 GB 的内存中。(300 万个密钥/GB)@6000 万个密钥驻留在 45 GB 的内存上。(133 万键/GB)
相比之下,redis 处理 9-1000 万个键/GB @ 6000 万个键。无论数据集大小如何,每 GB 的密钥比率都是一致的。
问题:
面对关键的重数据集时,Membase 似乎无法很好地扩展。在这个用例中是否有任何调整/配置可以帮助 Membase?
谢谢。
PS我从 redis 迁移到 membase,因为后者似乎提供了更高的可靠性来防止缓存故障。然而,大型数据集的这种性能下降有点太痛苦了。
mongodb - Cassandra、Membase、Hadoop、MongoDB、RDBMS等如何选择?
是否有关于何时使用 Cassandra 或 Membase 或 Hadoop 或普通旧关系数据库的论文/博客文章?是否有论文讨论每种技术的优势/劣势,以及在哪些情况下应该选择这些技术中的任何一种?
我正在考虑编写一个新的 web 服务,它每天将有大约一百万次点击和跨越大约几 TB 的数据。
c# - 从 C# 调用 tap_example.py 以获取 Membase TAP Stream
我正在尝试使用动态语言运行时/IronPython 来简单地运行带有命令参数的 .py 脚本,然后获取 std 输出。这是用于执行尚未在 C# 中实现的 membase TAP 协议:
我相信我可以使用 ExecuteFile 来运行脚本,但我不知道如果可能的话,在这种情况下如何传递参数。
本质上,如果我从命令行运行命令,它将是:
我可以简单地从 C# 运行它,但这需要安装 Python。这是一个后备选项,但我更喜欢使用 DLR。
有什么建议么?
time - 如何知道 memcached 的缓存项是什么时候创建的?
我注意到一些缓存项似乎比我的应用程序中的预期更早刷新/刷新。我的应用程序中可能存在一些逻辑错误。因此,在调试期间,我认为如果有某种方法可以找出特定缓存内容(基于其密钥)何时被创建/刷新/刷新,那就太好了。有人知道怎么做这个吗?
我使用这个 membase java 库http://code.google.com/p/spymemcached/downloads/detail?name=memcached-2.5.jar&can=2&q=
谢谢
PS:我确实可以访问我的服务器,所以即使它们在某个地方的日志中,我也有权检索它们,只需要知道从哪里检索它们:-)
membase - Membase - 使用 TAP 获取所有键的列表
我试图弄清楚如何修改tap_example.py以获取 Membase 实例中所有键的列表,但我在开始时遇到了麻烦。
我想我需要在某处设置 TAP_FLAG_DUMP,但我不确定在哪里,也找不到任何相关文档。有任何想法吗?
installation - 从源代码安装 Membase
我正在尝试从源 tarball构建和安装membase 。我遵循的步骤是:
- 解压 tar
membase-server_src-1.7.1.1.tar.gz
- 问题
make
(来自未解压缩的文件夹中)
完成后,我进入目录 install/bin 并调用脚本membase-server
。
这将启动服务器并显示一条消息:
membase 用户的最大打开文件数设置得太低。
它必须至少为 10240。通常可以通过在 /etc/security/limits.conf 中添加以下行来增加:
按照建议尝试更新limits.conf
,但没有运气,它继续弹出相同的消息并继续启动
鉴于服务器已启动,我尝试通过端口 11211 访问memcached,但收到拒绝连接消息。然后发现 ( netstat
) memcached正在监听 11210 并尝试远程登录到端口 11210,不幸的是,一旦我发出以下命令,连接就会关闭
注意:我没有从上面的命令中得到任何输出{是:stats
没有显示任何东西,但我仍然发出了set
。}
有人可以帮我从源代码构建和安装membase吗?另外为什么memcached监听的是 11210 而不是 11211?
如果有人也可以给我一个分步指南,我可以按照该指南从 Git 存储库的源代码构建(我之前没有使用autoconf
过),那就太好了。
PS:我尝试在同一台机器上从二进制文件(debian 包)安装,我能够成功安装和远程登录。因此不确定为什么从源代码构建不起作用。
php - Memcached 存储用户帐户
我很好奇使用 memcache 加速我的网站。现在,我现在有一个 mysql 表,其中包含密钥和电子邮件地址的列,用户使用他们的密钥登录,我查询数据库以检查它是否正确。如果他们忘记了密钥并希望重新发送,则使用该电子邮件。
现在,显然每条记录都非常小(我认为大约 19B)。您认为将所有(例如,100 万条记录)记录预加载到 Memcached 中并仅使用 Mysql 来保存永久记录是个好主意吗?
membase - 如何转储 membase db 的内容以播种另一个集群
我正在使用由 3 台机器组成的 membase 1.7.1 服务器集群(仅限 vbuckets),并且希望能够为整个集群出现故障的情况(可能不太可能)备份内容。
我会定期从我的提供商那里获取新数据;我想或多或少无限期地保留旧数据,并添加新数据。想象一个葡萄酒评级应用程序。新的年份总是会出现,但我需要保留旧的。
目前我有一个执行以下操作的过程:
- 从第三方提供商处下载一些数据
- 将数据推送到我的 vbucket 中;一些旧数据可能会被覆盖,一些数据将是新数据
- 挂断直到下一次数据更新;其他进程将读取数据
我想做的是:
- 查看我的存储桶中是否有任何数据
- 如果没有,请从离线存储中加载(参见步骤 #5)
- 从第三方提供商处下载一些数据
- 将数据推送到我的 vbucket 中;一些旧数据可能会被覆盖,一些数据将是新数据
- 将所有数据转储到离线存储中
- 挂断直到下一次数据更新;其他进程将读取数据
步骤 1,2, 5 是新的。
所以问题是关于步骤#5。TAP 协议是转储 membase 存储桶内容的好方法吗?会不会影响读者?
node.js - nodejs(membase)中的数据库事件或轮询
在我的应用程序中,我有一个全局状态,我通过 membase 将其分发到不同服务器上的不同节点。
节点本身的客户端需要在全局状态发生更改时得到通知,但我看到的唯一方法是从 membase 轮询状态并在更改时将其发送给客户端。因此,当发生更改时,我只有在客户端和服务器之间有流量,但我在服务器和 membase 之间会有持续的流量,这不是节点非阻塞 IO 的意义。
有没有更好的办法?