java handlersocket_HandlerSocket java客户端「建议收藏」

java handlersocket_HandlerSocket java客户端「建议收藏」MySQL中有个handlersocket,直接跳过数据库处理中的sql分析过程,直接调用存储引擎的接口,可以大幅度提升数据库的性能。我的测试中,使用handlersocket与sql,可以提升约3-5倍,在我的环境中单条“增删改查”可以达到2.5TPS左右,没有作者说得可以达到10万TPS。有一个hs4j的java客户端,但是有些功能没有完善,还有一个不太正常的现象,就是连接时间长了,就会断开,…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

MySQL中有个handlersocket,直接跳过数据库处理中的sql分析过程,直接调用存储引擎的接口,可以大幅度提升数据库的性能。我的测试中,使用handlersocket与sql,可以提升约3-5倍,在我的环境中单条“增删改查”可以达到2.5TPS左右,没有作者说得可以达到10万TPS。

有一个hs4j的java客户端,但是有些功能没有完善,还有一个不太正常的现象,就是连接时间长了,就会断开,没有定位具体的原因。所以自己写了客户端,基于netty 4,算是对netty 4的一次尝试,netty 4与netty 3区别很大。

代码已在github开源:

https://github.com/flyinmind/HandlerSocket4Java

代码结构比较清晰,HSBenchMark.java是性能测试程序,也是调用样例,com.huodian.hs4j.command中是处理协议命令的类,com.huodian.hs4j.netty中处理netty相关的内容。

可以支持批量处理,在我的环境中,批量处理并没有大幅度提升性能,我分析,瓶颈应该在数据库,所以批量没有提升性能,但是在批量时,客户端CPU占用会下降。使用InnoDB于MyISAM存储引擎都试过,虽然官网说支持InnoDB,但是MyISAM引擎也是可以的,比InnoDB更快。

数据库服务器中innodb_buffer_pool_size设置为8G,数据量最大3200万行,每行7列。32万->320万->3200万的数据量都尝试过,数据量上升时,性能没有明显下降,可能是内存没有利用起来。随着数据量上升,内存消耗逐步上升,3200万行时只占用了2G内存,内存没有用起来,不知道有什么设置可以将内存充分用起来。

handlersocket优点,相当于sql性能更高,相对于memcached,可以持久化,支持多列等,因为基于存储引擎,所以数据库的集群也是可以支持的(我没测试),使用handlersocket时,服务端CPU消耗更少。

但是,有个比较大的缺点,有handlersocket客户端连接时,我测试的是,这时不能调整表结构。同时查询只能基于索引,不能关联多个表等(这些都是可以接受的)。

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

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

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


相关推荐

  • FlashFXP 5.4.0注册码[通俗易懂]

    FlashFXP 5.4.0注册码[通俗易懂]2019独角兽企业重金招聘Python工程师标准>>>…

    2022年7月26日
    108
  • JS判断客户端是否已安装ActiveX控件「建议收藏」

    JS判断客户端是否已安装ActiveX控件「建议收藏」if(document.all.player.object==null){alert(“请先安装播放器控件!”)}

    2022年5月15日
    35
  • Eclipse环境下如何配置Tomcat,并且把项目部署到Tomcat服务器上「建议收藏」

    eclipse环境下如何配置tomcat打开Eclipse,单击“Window”菜单,选择下方的“Preferences”。单击“Server”选项,选择下方的“RuntimeEnvironments”。点击“Add”添加Tomcat。点击“Next”,选中自己安装的Tomcat路径。点击“Finish”完成。建立一个Web应用File→New→DynamicWeb

    2022年4月16日
    39
  • linux下载pycharm_PyCharm 安装

    linux下载pycharm_PyCharm 安装“阅读本文大约需要4分钟。”前言:PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。到官网下载安装包Pycharm官网链接htt…

    2022年8月27日
    6
  • 记录一次无加密门禁卡手机nfc复制过程

    记录一次无加密门禁卡手机nfc复制过程虽然小米说它的手机可以复制门禁卡,但是加密卡它不让复制,就连完全没有加密的门禁卡也无法复制,因为它不让你写入0扇区,你就没有对应的id号,那门怎么会开呢?必须要吐槽一下当然网上也有改它模拟的ID号方法,但那样可能会改变系统文件夹,会对以后带来风险原料:安卓软件taginfo和mifare经典工具,网上很好下载的如果检测到是无加密卡,就可以去淘宝买cuid卡了,…

    2022年5月27日
    103
  • pycharm安装matplotlib_深度学习小白篇一:Anaconda的安装和配置

    pycharm安装matplotlib_深度学习小白篇一:Anaconda的安装和配置一、前言大家知道,深度学习需要使用Python来做开发,所以,想要进入深度学习的战场,我们就必须要先要有python的开发环境作为武器,否则只能干看,而无从下手。子曰:“工欲善其事,必先利其器。”,我们最直接的武器就是编译Python程序的开发环境,一般情况下,我们选择在Python官网下载对应版本的Python然后用记事本编写,再在终端进行编译运行即可。但是对于我这样懒的小白,我喜欢装一些方便的…

    2022年8月28日
    7

发表回复

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

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