今天发现线上一台机器的cilent端很慢,通过打点记录相关耗时:
写道
server:
13-03-26 14:30:12 [INFO] com.duitang.biz.blog.impl.MysqlBlogQueryServiceImpl - queryBlogDetail cost40 ms
13-03-26 14:30:12 [INFO] com.duitang.dboss.remote.nio.DbossServerHandler - dboss invoke cost 45 ms
13-03-26 14:30:12 [INFO] com.duitang.dboss.remote.nio.DbossServerHandler - dboss invoke cost 20 ms
client
13-03-26 14:30:12 [INFO] com.duitang.dboss.client.net.ServerCenter - servercenter invoke cost 86 ms
13-03-26 14:30:12 [INFO] com.duitang.dboss.client.net.ServerCenter - servercenter invoke cost 22 ms
13-03-26 14:30:12 [INFO] com.duitang.biz.blog.impl.MysqlBlogQueryServiceImpl - queryBlogDetail cost40 ms
13-03-26 14:30:12 [INFO] com.duitang.dboss.remote.nio.DbossServerHandler - dboss invoke cost 45 ms
13-03-26 14:30:12 [INFO] com.duitang.dboss.remote.nio.DbossServerHandler - dboss invoke cost 20 ms
client
13-03-26 14:30:12 [INFO] com.duitang.dboss.client.net.ServerCenter - servercenter invoke cost 86 ms
13-03-26 14:30:12 [INFO] com.duitang.dboss.client.net.ServerCenter - servercenter invoke cost 22 ms
通过定位发现原因在于socket没有正确设置参数,应该加上:
public void connect() throws DbossConnectionException { if (!isConnected()) { try { socket = new Socket(); socket.setReuseAddress(true); socket.setKeepAlive(true); socket.setTcpNoDelay(true); socket.setSoLinger(true, 0); socket.connect(new InetSocketAddress(host, port), timeout); socket.setSoTimeout(timeout); } catch (IOException ex) { throw new DbossConnectionException(ex); } } }
相关推荐
提高 Linux 上 socket 性能 加速网络应用程序的 4 种方法。修改socket参数和TCP/IP相关参数设置,从而适应各自业务提高网络性能。
SuperSocket 是一个轻量级的,可扩展的,跨平台的.NET Socket 服务器开发框架,可用来构建一个基于命令的服务器端Socket 程序,而无需了解如何使用Socket,如何维护Socket连接,亦无需了解Socket是如何工作的。...
jmeter socket Client端,用于调试非压测,启动服务端后,将此文件放入eclipse中导出成Jar包
easysocketbenchmark高性能socket性能测试工具/框架,做socket性能测试工具的终结者。满足一般性能测试、延迟测试、最大连接数测试、吞吐量测试、压力测试、长时间稳定性测试、内存泄漏测试等场景。简介:基于redis...
用于socket.io的高性能C#客户端。 通过和可选配置实现灵活性。 建立在.NET Standard 2.1之上。 安装 PM> Install-Package Socket.Io.Client.Core 特征 完全异步且无阻塞的灵活API 发出事件并接收可选的回调 订阅/...
HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知模型的 API 接口,能非常简单高效地整合到新旧应用程序中。 为了让使用者能方便快速地学习和使用 HP-Socket ,迅速...
模拟TCP/UDP服务端和客户端,可以设置SOCKET网络层、传输层高级参数。 简单作为TCP/UDP测试网络通讯,你选它! 测试网络通讯效率,你也选它! 最后,好的工具不需要资源分!
@hyoga/uni-socket重写 socket.io-client 的 engin.io-client 处理件,h5 依旧使用原生 WebSocket,APP 与小程序使用 uni-app 的 WebSocket 协议,所以 h5 端任然可以支持长轮询等方式,APP 与小程序只能支持 ...
// 为AcceptEx 准备参数,然后投递AcceptEx I/O请求 for( int i=0;i;i++ ) { // 新建一个IO_CONTEXT PER_IO_CONTEXT* pAcceptIoContext = m_pListenContext->GetNewIoContext(); if( false==this->_...
3、优化 IServer/IAgent 组件,提升性能和稳定性 > 升级说明: 1、HP-Socket v4.3.1 完全兼容 HP-Socket v4.2.1 版本,可以直接替换升级 v4.2.1 更新: > HTTP Cookie 管理: 1、新增 Cookie 管理器,可在不同连接、...
socket 应用程序的性能,包括通过禁用 Nagle 算法来减少传输延时,通过设置缓冲区的大小来提高 socket 带宽的利用,通过最小化系统调用的个数来降低系统调用的负载,以及使用可调节的内核参数来优化 Linux 的 TCP/IP...
第二部分对高性能服务器编程的核心要素进行了全面深入的剖析,包含Linux网络编程API、高级I/O函数、Linux服务器程序规范、高性能服务器程序框架、I/O复用、信号、定时器、高性能I/O框架库Libevent、多进程编程、多...
AMD Athlon 64 2800+ Newcastle Socket 754 0.13微米 1.8G 200MHZ 9 400MHZ 512K 1.5V AMD Athlon 64 3000+ Newcastle Socket 754 0.13微米 2.0G 200MHZ 10 400MHZ 512K 1.5V AMD Athlon 64 3200+ Newcastle ...
AIX网络性能优化简介 ...socket 缓冲区 (socket buffer) 的调整 网络接口(network interface)参数的调整 网络适配器 (network adapter) 上发送/接收队列的调整 名字解析(name resolution) 的查找顺序。
简单的说,RPC 就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。 RPC 会隐藏底层的通讯细节(不需要直接处理 Socket 通讯或 Http ...
测试中: 30W/s 支持无限制参数 增加参数快速查询 支持处理前回调 和处理完毕时回调 自动识别CPU机制 当然 是根据负载识别 如果觉得可以 请联系: 547171911 代码转前请保留作者信息 否则将追求代码所有权
机器学习 (Machine Learning) 是对研究问题进行模型假设,利用计算机从训练数据中学习得到模型参数,并最终对数据进行预测和分析的一门学科。 机器学习的用途 机器学习是一种通用的数据处理技术,其包含了大量...
因硬件环境和应用环境不同,不合理的配置会出现效率及性能上的问题,因此以下情况出现时,请务必与作者联系以确保获得更好的参数配置: (1)、连接量超过1000个的。超过的应结合具体硬件配置和网络带宽等因素综合...
高性能,支持同时转发多路视频,占用硬件资源不多。低延时,延时1s。 运行示例项目 1、克隆或者下载项目到本地。 2、命令行进入到项目目录,执行命令node sample/index.js。 3、修改sample/index.html中的config对象...
下面是一个简单的C语言TCP实现的描述,包括了...在实际的代码实现中,需要根据具体的需求和情况进行适当的参数设置、错误处理和异常处理等。同时,还可以根据需要添加多线程或异步通信等技术来提高并发性能和响应速度。