`
CharlesCui
  • 浏览: 419483 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Couchdb 性能测试 之 查询数据

阅读更多
Couchdb:

引用
Apache CouchDB is a distributed, fault-tolerant and schema-free document-oriented database accessible via a RESTful HTTP/JSON API. Among other features, it provides robust, incremental replication with bi-directional conflict detection and resolution, and is queryable and indexable using a table-oriented view engine with JavaScript acting as the default view definition language.



Couchdb是以Rest方式来完成操作的分布式文档数据库,要多Couchdb完成操作的话,必须通过执行Http请求。传统数据库是通过DBAdapter完成消息传递的,那么可以认为:Http请求的效率和传统的DBAdapter请求的效率,在一定程度上影响着Couchdb和传统数据库的性能。

在Couchdb中,拿插入数据来说,每次插一条数据,客户端必须发起一次put请求,Couchdb再接受这个请求并作处理。下面我就要做这样的一次测试,来比较Couchdb和Mysql两种数据库的插入数据的速度。插mysql和couchdb的操作都从客户端发起,mysql和couchdb同时装在一台server上。通过benchmark记录操作耗时。

测试环境:一台server,一台client,

server:DELL1950划分的一台虚拟机,cpu:2,mem:2GB
mysql:Server version: 5.0.67-0ubuntu6 (Ubuntu)
couchdb:Apache CouchDB 0.8.0-incubating (LogLevel=info)
文件系统:

Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda1     ext3     85G  1.5G   80G   2% /
tmpfs        tmpfs   1013M     0 1013M   0% /lib/init/rw
varrun       tmpfs   1013M  356K 1012M   1% /var/run
varlock      tmpfs   1013M     0 1013M   0% /var/lock
udev         tmpfs   1013M  2.6M 1010M   1% /dev
tmpfs        tmpfs   1013M     0 1013M   0% /dev/shm

client:一台装有LoadRunner的服务器来模拟多个并发请求。

测试场景:
1、服务端:数据库状况为:{"db_name":"couchdbvsmysql","doc_count":1000,"doc_del_count":0,"update_seq":1000,"compact_running":false,"disk_size":2376834}
客户端:通过LoadRunner发送大量请求,并发设置为50,没有时间间隔,再此情况下查看couchdb的响应速度(TPS),并监控couchdb服务器的CPU和Load等其它性能数据。
2、客户端并发设置为500,其它与场景一相同。

场景一测试结果:

TPS:571,CPU:83%(其中SI和HI较高,分别为20%多和10%多),LOAD:2.1,

top 写道
top - 21:25:20 up 8 days, 23:21,  3 users,  load average: 1.95, 1.63, 1.26
Tasks: 104 total,   1 running, 102 sleeping,   1 stopped,   0 zombie
Cpu(s): 28.6%us, 28.2%sy,  0.0%ni, 12.5%id,  0.0%wa,  7.3%hi, 23.4%si,  0.0%st
Mem:   2072680k total,   831620k used,  1241060k free,   170248k buffers
Swap:  3879656k total,        0k used,  3879656k free,   469088k cached







为什么软中断和硬中断占用CPU这么高我就不知道了,这种情况很少见,可能是虚拟机的缘故,也可能是ErlangHttp的缘故。

场景二测试结果和场景一相同,可见ErlangHttp对并发请求的支持是比较稳定的,至少500并发以内没有出现波动,TPS不变,并发上升后,响应时间线性上升。
  • 大小: 111.9 KB
  • 大小: 70.5 KB
3
0
分享到:
评论

相关推荐

    couchdb-benchmarks:一些用于测试CouchDB性能的基准脚本

    我目前正在这些基准测试上,以获取有关CouchDB扩展属性的第一手数据。 我特别关心磁盘使用情况(弄清楚何时需要分片)和复制速度。 但是,在此过程中,我还将收集其他可能有用的信息,但请记住,我的测试方法将明确...

    couchdb富查询示例链码

    couchdb富查询示例链码

    CouchDB

    CouchDB

    CouchDB权威指南(带详细目录)PDF

    出版时间:2012年9月1日。 内容简介: 三位CouchDB的开发者向你展示了如何以独立应用框架...* 使用MapReduce视图来查询和综合CouchDB中的数据。 * 在节点间进行复制。 * 优化CouchDB来适应不断提高的性能和可靠性要求。

    Fabric 1.4基于couchdb环境搭建

    Fabric 1.4基于couchdb环境搭建步骤,以及基于couchdb的区块链多字段数据查询

    CouchDB:权威指南(第一版)CouchDB: The Definitive Guide (1st Edition)

    CouchDb的三位创建者向您展示了如何将此面向文档的数据库用作独立的应用程序框架或用于大量分布式应用程序。

    Beginning CouchDB.pdf

    Beginning CouchDB.pdf

    CouchDB资料整理

    之前整理的关于CouchDB技术的内容 类型:开源数据库,Apache项目 存储格式:JSON 查询语言:JavaScript API :MapReduce、HTTP

    CouchDB20 分钟入门

    学习couchDB 的入门教程

    CouchDB,Python

    Python CouchDB模块,使用:直接将其中的couchdb文件夹复制到Python27\Lib文件夹下,即可使用import couchdb按照文档进行后续开发。

    couchdb源码

    couchdb源码 

    CouchDB独立博客sofa-CouchDB.zip

    sofa-CouchDB 是 CouchDB 的独立博客,使用 CouchDB 的书来做主要内容,这方便了所有用来在这博客上交流他们的想法,并且里面提供了很多帮助指导,这都是 HTML,Javascript 和 CouchDB 的结晶。目前支持任何人在上面...

    relational-pouch, 在 pouchdb/couchdb中,存储关系数据.zip

    relational-pouch, 在 pouchdb/couchdb中,存储关系数据 关系邮袋 var db = new PouchDB('mydb');db.setSchema([ {singular: 'author', plural: 'authors', relations: { books:

    Apache-CouchDB.zip

    CouchDB 是一个开源的面向文档的数据库管理系统,可以通过 RESTful JavaScript Object Notation (JSON) API 访问。...CouchDB 最初是用 C++ 编写的,但在 2008 年 4 月,这个项目转移到 Erlang OTP 平台进行容错测试

    Apache CouchDB信息泄露漏洞(CVE-2023-26268)通告

    Apache CouchDB 是一个开源的 NoSQL 文档数据库,以基于 JSON 的文档格式收集和存储数据,提供了高可用性和高可靠性。近日,深信服安全团队监测到 Apache CouchDB 组件存在信息泄露漏洞,漏洞编号:CVE-2023-26268...

    apache-couchdb-2.3.1.msi

    CouchDB 是一个开源的面向文档的数据库管理系统,可以通过 RESTful JavaScript Object Notation (JSON) API 访问。...CouchDB 最初是用 C++ 编写的,但在 2008 年 4 月,这个项目转移到 Erlang OTP 平台进行容错测试

    CouchDB.The.Definitive.Guide

    This book introduces you to Apache CouchDB, a document-oriented database that offers a different way to model your data. CouchDB is a schema-free database, designed to work with applications that ...

    Scaling.CouchDB(第1版)

    中文名: Scaling CouchDB (第1版) 原名: Scaling CouchDB: Replication, Clustering, and Administration 作者: Bradley Holt 资源格式: PDF 版本: 英文文字版/更新EPUB版本 出版社: O'Reilly书号: 978-1-4493-0343-...

    Apress.Beginning.CouchDB.Dec.2009.pdf

    Apache CouchDB is an exciting database management system that is growing in popularity each day. This book introduces you to CouchDB, guiding you through its relatively short history and what makes it...

    abdera-couchdb-1.1.jar

    标签:abdera-couchdb-1.1.jar,abdera,couchdb,1.1,jar包下载,依赖包

Global site tag (gtag.js) - Google Analytics