mysql并发 node_nodejs下mysql性能测试
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性能测试相关推荐
- mysql并发 node_nodejs写入mysql单次数据量过大的解决方法_沃航科技
今天使用nodejs开发mysql程序时,发现了如下bug提示:{ Error: write EPIPE at WriteWrap.afterWrite [as oncomplete] (net.js ...
- 并发场景下MySQL存在的问题及解决思路
转载自 并发场景下MySQL存在的问题及解决思路 目录 1.背景 2.表锁导致的慢查询的问题 3.线上修改表结构有哪些风险? 4.一个死锁问题的分析 5.锁等待问题的分析 6.小结 一.背景 对于数据 ...
- 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压缩包版安装教程,希望对 ...
- windows下mysql和linux下mysql主从配置
1. linux下mysql安装版本5.6 windows下mysql版本5.7 不要问我为什么版本不一致 就是想这么搞 2. linux为主服务器 windows为从服务器 3.找到li ...
- linux下mysql授权_linux下mysql命令(用户授权、数据导入导出)
1,linux下启动mysql的命令: 复制代码 代码示例: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2,linux下重启my ...
- 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 ...
- linux mysql 事务_linux下mysql Insert update delete 事务 用户管理
linux下mysql Insert update delete 事务 用户管理 1.INSERT插入语句格式: INSERT INTO tb_name (字段1, 字段2, ...) VALUES ...
- linux重新安装mysql步骤_Linux下MySQL安装及相关操作过程
一.安装MySQL数据库,但是前提是已经安好Linux系统,我使用的是Red hat desktop 6.0 SP1,系统盘的Tools里面有相应的软件,为5.0系列,但经测试无法使用,不能正常运行, ...
- MySQL 技术篇- linux下mysql数据库利用binlog文件进行数据回滚实例演示,binlog恢复数据库的两种方式
MySQL 数据库数据回滚 第一章:利用 binlog 进行数据回滚 ① 查看 binlog 文件所在位置 ② 查看主数据正在存储数据的 binlog 文件名 ③ 在控制台查看 binlog 文件内容 ...
最新文章
- .NET完全手动搭建三层B/S架构
- 使用alertmanager对监控对象进行报警(微信)三
- audiojs--跨浏览器的HTML音频播放器(可自定义样式)
- sklearn 线性回归_机器学习初级算法(二)——线性回归
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_20-CMS前端页面查询开发-页面原型-页面内容完善...
- 玩家可以输入辅助指令_三菱FX系列PLC输入输出与辅助继电器之间有什么关系?...
- Centos Linux 下Pycharm 安装
- php redis 实时聊天,php+redis聊天室
- DirectAdmin教程-初级
- html在页面显示一个正方形,CSS实现一个自适应的正方形的方法示例
- 红米5plus开发者选项怎么打开?
- 知识图谱实体预测任务如何计算filtered MRR
- 蓄水池抽样算法(reservoir sampling)
- 【洛谷】P1067 多项式输出【模拟】
- python语言编程-Python成为2018年度编程语言,遥遥领先于其他语言
- python语言是学什么的_Python语言应该学习什么?
- 点对点传输协议计算机网络,什么是点对点协议(Point-To-Point Protocol)?
- 模仿游戏中台词计算机,《模仿游戏》经典台词大全
- 使用dumuz软件机器人获取淘宝已买的宝贝下载和物流信息
- 一文带你了解高新技术企业
热门文章
- win7环境变量设置
- 语音识别|基于CNN+DFSMN(简化版:标量+无步长因子)的声学模型实现及代码开源(keras)
- python3 tcp 通信源码
- virtualbox+vagrant学习-2(command cli)-16-vagrant snapshot命令
- BZOJ 2257: [Jsoi2009]瓶子和燃料
- Lintcode107 Word Break solution 题解
- jQuery在绑定事件时如何传入参数
- 再温暖的鸡汤不如一场殊死的战争,诸神之战四赛区冠军出炉!
- 转://点评Oracle11g新特性之动态变量窥视
- List-style-type属性失效