By 2011 年 02 月 14 日

本文为原创文章,出自http://cnodejs.org,转载请注明出处和作者

作者:qingdu

原文:http://cnodejs.org/blog/?p=404

近期对node下的几个mysql操作库做了一下简单的调研

主要是针对这3个module进行

libmysqlclient,mysql-native, mysql

node-libmysqlclient

https://github.com/Sannis/node-mysql-libmysqlclient

基于libmysql的封装, 支持阻塞与非阻塞两种操作方式,目前在query部分功能比较完善,prepare statement方面还是有些bug,实际测试中一直出core

安装

npm install mysql-libmysqlclient

node-mysql

https://github.com/felixge/node-mysql

纯node的实现, 支持prepare statement, 数据的获取支持事件与callback两种方式

安装

npm install mysql

node-mysql-native

纯node的实现, 内置有简单的连接池支持,支持prepare statement, 数据的获取只支持通过事件方式

安装

npm install mysql-native

测试设计

测试表结构

CREATE TABLE `test10` (

`id` int(10) unsigned NOT NULL DEFAULT '0',

`txt` varchar(500) DEFAULT ''

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

测试数据

分别生成了含10, 100, 500, 1500行记录的4张表

使用10个并发连接分别对其进行SELECT * FROM table的查询

测试结论

其中数值表示qps值

在结果集较小时node-mysql-native明显胜出

当结果集增大到接近100行时,node-libmysqlclient开始表现出更佳的性能

node-mysql性能与其他两个module差距比较大,如果对性能有一定要求的话,则其基本不可用

测试代码

mysql并发 node_nodejs下mysql性能测试相关推荐

  1. mysql并发 node_nodejs写入mysql单次数据量过大的解决方法_沃航科技

    今天使用nodejs开发mysql程序时,发现了如下bug提示:{ Error: write EPIPE at WriteWrap.afterWrite [as oncomplete] (net.js ...

  2. 并发场景下MySQL存在的问题及解决思路

    转载自 并发场景下MySQL存在的问题及解决思路 目录 1.背景 2.表锁导致的慢查询的问题 3.线上修改表结构有哪些风险? 4.一个死锁问题的分析 5.锁等待问题的分析 6.小结 一.背景 对于数据 ...

  3. mysql5.7.17.zip教程,Mysql学习win10下mysql 5.7.17 zip压缩包版安装教程

    搜索热词 <MysqL学习win10下MysqL 5.7.17 zip压缩包版安装教程>要点: 本文介绍了MysqL学习win10下MysqL 5.7.17 zip压缩包版安装教程,希望对 ...

  4. windows下mysql和linux下mysql主从配置

    1. linux下mysql安装版本5.6   windows下mysql版本5.7  不要问我为什么版本不一致  就是想这么搞 2. linux为主服务器   windows为从服务器 3.找到li ...

  5. linux下mysql授权_linux下mysql命令(用户授权、数据导入导出)

    1,linux下启动mysql的命令: 复制代码 代码示例: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2,linux下重启my ...

  6. mysql relay log_windows下mysql主从出现Failed to open the relay log(relay_log_pos 248)解决办法...

    1.停止mysql服务 2.在mysql日志目录下删除所有的relay logs 3.删除mysqldata目录下所有hostname-relay-bin.XXX, hostname-relay-bi ...

  7. linux mysql 事务_linux下mysql Insert update delete 事务 用户管理

    linux下mysql Insert update delete  事务 用户管理 1.INSERT插入语句格式: INSERT INTO tb_name (字段1, 字段2, ...) VALUES ...

  8. linux重新安装mysql步骤_Linux下MySQL安装及相关操作过程

    一.安装MySQL数据库,但是前提是已经安好Linux系统,我使用的是Red hat desktop 6.0 SP1,系统盘的Tools里面有相应的软件,为5.0系列,但经测试无法使用,不能正常运行, ...

  9. MySQL 技术篇- linux下mysql数据库利用binlog文件进行数据回滚实例演示,binlog恢复数据库的两种方式

    MySQL 数据库数据回滚 第一章:利用 binlog 进行数据回滚 ① 查看 binlog 文件所在位置 ② 查看主数据正在存储数据的 binlog 文件名 ③ 在控制台查看 binlog 文件内容 ...

最新文章

  1. .NET完全手动搭建三层B/S架构
  2. 使用alertmanager对监控对象进行报警(微信)三
  3. audiojs--跨浏览器的HTML音频播放器(可自定义样式)
  4. sklearn 线性回归_机器学习初级算法(二)——线性回归
  5. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_20-CMS前端页面查询开发-页面原型-页面内容完善...
  6. 玩家可以输入辅助指令_三菱FX系列PLC输入输出与辅助继电器之间有什么关系?...
  7. Centos Linux 下Pycharm 安装
  8. php redis 实时聊天,php+redis聊天室
  9. DirectAdmin教程-初级
  10. html在页面显示一个正方形,CSS实现一个自适应的正方形的方法示例
  11. 红米5plus开发者选项怎么打开?
  12. 知识图谱实体预测任务如何计算filtered MRR
  13. 蓄水池抽样算法(reservoir sampling)
  14. 【洛谷】P1067 多项式输出【模拟】
  15. python语言编程-Python成为2018年度编程语言,遥遥领先于其他语言
  16. python语言是学什么的_Python语言应该学习什么?
  17. 点对点传输协议计算机网络,什么是点对点协议(Point-To-Point Protocol)?
  18. 模仿游戏中台词计算机,《模仿游戏》经典台词大全
  19. 使用dumuz软件机器人获取淘宝已买的宝贝下载和物流信息
  20. 一文带你了解高新技术企业

热门文章

  1. win7环境变量设置
  2. 语音识别|基于CNN+DFSMN(简化版:标量+无步长因子)的声学模型实现及代码开源(keras)
  3. python3 tcp 通信源码
  4. virtualbox+vagrant学习-2(command cli)-16-vagrant snapshot命令
  5. BZOJ 2257: [Jsoi2009]瓶子和燃料
  6. Lintcode107 Word Break solution 题解
  7. jQuery在绑定事件时如何传入参数
  8. 再温暖的鸡汤不如一场殊死的战争,诸神之战四赛区冠军出炉!
  9. 转://点评Oracle11g新特性之动态变量窥视
  10. List-style-type属性失效