日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java handlersocket_HandlerSocket java客户端

發布時間:2024/10/8 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java handlersocket_HandlerSocket java客户端 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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客戶端連接時,我測試的是,這時不能調整表結構。同時查詢只能基于索引,不能關聯多個表等(這些都是可以接受的)。

原文:http://blog.csdn.net/flyinmind/article/details/20864535

總結

以上是生活随笔為你收集整理的java handlersocket_HandlerSocket java客户端的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。