handlersocket原理和性能测试[通俗易懂]

handlersocket原理和性能测试[通俗易懂]1.handlersocket原理很久以前做的测试了,今天只是为了留个存底的地方,所以拿上来,有很多不严谨的地方望大家多多包涵,也可以留言更正我的错误,谢谢!都说handlersocket速度不是

大家好,又见面了,我是你们的朋友全栈君。

1.handlersocket原理

       很久以前做的测试了,今天只是为了留个存底的地方,所以拿上来,有很多不严谨的地方望大家多多包涵,也可以留言更正我的错误,谢谢!

       都说handlersocket速度不是一般的快,公司也想在这方面研究一番,顺便我也学习下mysql的原理,就做了这个测试:

在介绍handlersocket之前首先来看一下mysql的原理:

handlersocket原理和性能测试[通俗易懂]

       前端应用(php python…)通过用户名和密码连接到mysql服务器,在通过mysql的“中间层”进行语法分析和优化等,最后交给存储引擎(myisma和innodb等)。

那么我所理解的handlersocket是怎样的?

handlersocket原理和性能测试[通俗易懂]

       我是根据什么猜测(在没有看源代码之前,只能猜测),handlersocket在连接mysql时,不用输入用户名和密码,一定是跳过了验证阶段;handlersocket在执行“sql”语句时,也别具一格,为什么这么说,因为在handlersocket严厉,根本没有所谓的sql语句,他所执行的单纯的是调用函数,例如:


 

       在huati数据库,t_topic表查找主键等于13的f_tid和f_tname字段,有这句话可以看出来,完全是函数式的调用,这也省去了mysql的语法解析,也许是他快的主要原因吧!

       关于handlersocket的详细架构,可能之后会补上,这里就不多说啦。直接进入测试阶段。

2.handlersocket测试

首先介绍下测试环境:

handlersocket原理和性能测试[通俗易懂]

 

       我用了两种语言python和php,为什么要用两种语言?之后会解释。

首先来看一下python用mysql方式连接和用handlersocket连接的性能差别

handlersocket原理和性能测试[通俗易懂]

X:并发进程数  Y:每秒钟处理请求数

       上图蓝色:mysql自身调用插入语句(insert);红色:handlersocket 插入时数据。两种方式的请求数均随着并发量的增加而增加,但handlersocket表现的更为明显。下面来看另一张图:

handlersocket原理和性能测试[通俗易懂]

       由于handlersocket有两种查询方式,所以我把两种(find和get)全部列出来,坐下比较,发现基本重合。这时觉得handlersocket没有网上说的那么神,随后研究了下原因,归结如下:主要原因可能是由于,python的mysql接口使用c写的,而我们安装的handlersocket接口使用python写的,这里的比较数据就完全没有可比性了,这也决定了我换用php再做一次测试:

handlersocket原理和性能测试[通俗易懂]

handlersocket原理和性能测试[通俗易懂]

 

       到此为止,已经看到handlersocket的性能优越性,笔者现在质疑,为什么这么好的东西,应用范围那么小,目前所知道的也只有飞信再用,之后上网找到一句话,看后深有感触,基准测试是由一个对这个产品感兴趣的一方完成的话,内在的不信任感会油然而生。套用公司的一句话“我们不追求最先进的科技,只运用最稳定的技术”

 

3.总结

在以后所有测试中,不应该对任何测试产品抱有内心的崇拜,否则会让自己迷茫。

转载请注明:http://blog.csdn.net/lengzijian

 

4.附录

如下是一部分测试数据,如果想要全部数据,或者博客中的ppt请联系作者,或liye6688@qq.com

handlersocket原理和性能测试[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155361.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navicat 15 for my sql 激活码[最新免费获取]

    (navicat 15 for my sql 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1STL5S9V8F-eyJsaWNlbnNlSWQiOi…

    2022年3月27日
    171
  • db2排序rownumber函数讨论[通俗易懂]

    db2排序rownumber函数讨论[通俗易懂] 在我的应用中使用了Rownumber函数,由于我的非正常理解造成了排序混乱。现在晒出来讨论。一、初识rownumberrownumber()函数允许开发人员动态地将行号指定给结果集。如果去掉row_next子句(ROW_NEXTBETWEEN?and?),那么将返回所有匹配选择标准的行。上面使用的SELECT*FROM子句可以看作一个临时表,里面存有匹配选

    2022年6月6日
    150
  • win7电脑卡顿严重解决方法_电脑卡顿一下

    win7电脑卡顿严重解决方法_电脑卡顿一下最近有很多游戏玩家和小编说win7电脑玩2D游戏经常发生卡顿,游戏卡顿问题确实让玩家苦恼,因为导致2D游戏经常发生卡顿的原因有很多种,那么win7电脑玩2D游戏经常发生卡顿怎么办?不要着急,针对此问题,下面小编告诉大家造成2D游戏经常发生卡顿的六大解决方法。解决方法一:1、建议下载并安装【百度电脑专家】,2、打开【百度电脑专家】,在搜索框内输入“玩游戏卡”,在搜索结果里面选择第一项的【立即修复】,…

    2025年10月27日
    3
  • JS定时器是什么「建议收藏」

    JS定时器是什么「建议收藏」很多人都会遇到图片的轮播效果,并且两分钟播放一下,这时候就会需要定时器,那么js定时器是什么?下面我们来讲解一下js定时器使用方法。1.js定时器是什么js定时器是利用js实现定时的一种方法,在网

    2022年7月3日
    26
  • 数据预处理的一些知识「建议收藏」

    数据预处理的一些知识「建议收藏」数据预处理的一些知识做研究时只要与数据分析相关就避免不了数据预处理。我们常见的预处理包括:标准化(规范化),归一化,零均值(化),白化,正则化……这些预处理的目的是什么呢?网上查的总是零零散散,很难搞清楚。因此我用此片博客来总结下。借鉴其他博客的内容,可能未一一注明还请谅解。一,数据标准化目的:为了消除量纲影响和变量自身数值大小的影响,方便统计处理(尤其是加权),故将数据标准化。例如:我们对

    2025年6月1日
    4
  • php面试常问方法汇总

    php面试常问方法汇总

    2022年2月15日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号