8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

今天参加了一场内部的网络方面的分享

这是现场记下和整理的笔记

socket timeout exception出现一般有两种情况

一、超时时间过短慢查询、负载高等

二、网络连接丢包TCP重试机制:20ms重传,指数递增。

数据库传输路径

网卡–>驱动–>硬件缓存–》内核

网卡

网卡在内存中分配一个缓冲区:sk_buffer 如果无法及时写到sk_buffer ,会产生丢包 ()

写入SK_BUFFER后,网卡立即发起一个CPU硬件中断

驱动

CPU接受到后,触发网卡驱动的软中断程序,消费SK_BUFFER上的数据,交给内核协议处理

硬件缓存

默认将sk_buffer队列数据写入到CPU队列,如果满了也会丢弃

内核

数据我进到IP层后

因为窗口可调整不会丢包,但TCP握手还是会丢包

client发送sync

SERVER在收到后 SYNC_QUEUE半连接队列,然后返回syn+ack

client 收到后 发送ack

server 收到后写入accept_queue 全连接队列

server收到client的syn后,把相关信息放到半连接队列中

server回复syn+ack给client

server收到client的ack,如果这时全连接队列没满,那么从连接队列拿出相关信息放入到全连接队列中,否则按tcp_abort_on_overflow指示的执行。

当这两个连接满时会发生丢包,试如下参数

/proc/sys/net/ipv4/tcp_abort_on_overflow 为0表示当队列满时丢弃

/proc/sys/net/ipv4/tcp_abort_on_overflow 为1表示当队列满时发送RST报文

应用进程过程中常见的可能导致超时的情况:

1.JVM Full GC

2.上游服务较慢

3.慢SQL

4.使用了慢Redis命令

5.系统CPU使用率较高(可能是外部进程使用较高,可能是Java进程中存在死锁或死循环)

6.磁盘IO wait导致

7.打开的文件数过多

监控NIC缓冲区到driver buffer缓冲区过程中,如果NIC缓冲区消费能力小于NIC写入能力,则会发生网络丢包

命令行可以通过ifconfig 查看overruns对应的值

或者cat /proc/net/dev里面fifo列对应的值

命令行可以通过ifconfig 查看dropped对应的值

或者cat /proc/net/dev里面dropped列对应的值

当出现这两种值时,需要使用top 检查cpu core0的idle比例,如果cpu idle较低, 可能需要更换配置更好的机器。

全连接队列丢包会引起连接超时

可以通过netstat –s | egrep “listen|LISTEN”来查看,如果全连接队列丢包,需要业务检查是否是有突发的大量建立连接的请求。

全连接队列大小: min(backlog, somaxconn) ,backlog socket指定的,somaxconn为系统设置的

半连接队列大小: max(64, /proc/sys/net/ipv4/tcp_max_syn_backlog)

例如:使用了短链接

使用连接池,连接池minTotal较小并且maxTotal非常大

android socket 丢包,socket timeout exception和常见网络丢包情况相关推荐

  1. 几种常见网络抓包方式介绍

    几种常见网络抓包方式介绍 一.网络分流器(TAP) 二.有网管功能的小交换机 三.用两块网卡的Linux方案 四.总结 无论作为网络运维人员,还是安全渗透工程师,在工作中都会无可避免地碰到网络抓包的需 ...

  2. 实时检测服务器延迟和丢包率脚本,使用mtr测试网络丢包率和平均延时的脚本实例...

    mtr(a network diagnostic tool)是一个神奇的指令,能按要求对路由中所有节点进行批量测试.简单敲一个"mtr qq.com"将会有意外收获! 当需要进行产 ...

  3. 基于linux的netfilter处理数据包的过程分析,基于Netfilter的网络数据包分析

    前面的几篇文章我已经对Netfilter的大概的机制作了比较详细的介绍,这篇文章我就说一下如何分析网络数据包.我刚刚写了一个程序,程序的功能很简单,就是提取出网络数据包的源地址和改包所使用的网络协议, ...

  4. 计算机网络抓包参考文献,计算机网络课程设计二(网络抓包与分析)

    <计算机网络课程设计二(网络抓包与分析)>由会员分享,可在线阅读,更多相关<计算机网络课程设计二(网络抓包与分析)(9页珍藏版)>请在人人文库网上搜索. 1.课程设计课程名称: ...

  5. linux网络包截获,用C实现截获网络数据包

    现在进入第二步,捕获数据包.从第20行开始,我们进入了一个死循环,while(1),在第24行,recvfrom(sock, buffer, sizeof buffer, 0, (struct soc ...

  6. linux接收网络数据并存存储,linux网络数据包数据结构 Socket Buffer

    Linux网络核心数据结构是套接字缓存(socket buffer),简称skb.它代表一个要发送或处理的报文,并贯穿于整个协议栈.1.套接字缓存skb由两部分组成:(1)报文数据:它保存了实际在网络 ...

  7. 云网络丢包故障定位全景指南

    作者简介:冯荣,腾讯云网络高级工程师,腾讯云网络核心开发人员. 万字长文  建议收藏 引言 本期分享一个比较常见的⽹络问题--丢包.例如我们去ping⼀个⽹站,如果能ping通,且⽹站返回信息全⾯,则 ...

  8. 深度好文:云网络丢包故障定位,看这一篇就够了~

    深度好文:云网络丢包故障定位,看这一篇就够了~ https://mp.weixin.qq.com/s/-Q1AkxUr9xzGKwUMV-FQhQ Alex 高效运维 今天 来源:本文经授权转自公众号 ...

  9. 网络编程之网络丢包故障如何定位?如何解决?

    引言 本期分享一个比较常见的网络问题--丢包.例如我们去ping一个网站,如果能ping通,且网站返回信息全面,则说明与网站服务器的通信是畅通的,如果ping不通,或者网站返回的信息不全等,则很可能是 ...

  10. Android设备上使用WiFinspect抓取网络通讯包

    之前的文章我们介绍过使用Fiddler来抓取Android设备通信HTPP,  今天我们需要更加细节网络抓包. 首先, 您的Andriod设备需要root权限, 去Google Play安装一个叫Wi ...

最新文章

  1. asp.net性能常用优化
  2. hashMap死循环
  3. Ubuntu系统的安装与使用:[3]搜狗输入法安装
  4. 测试双打:模拟,假人和存根
  5. 带头结点头部插入创建链表
  6. c盘清理代码_拒接卡顿,从c盘减负、系统修复及网络加速做起!奥利~~~
  7. python基本数据类型第三周_python3第二天(基本数据类型)
  8. Python绘制具有描边效果和内部填充的柱状图
  9. 封装一个操作文件的函数
  10. Python:线程、进程与协程(5)——multiprocessing模块(2)
  11. webstorm破解码
  12. mysql连接工具_连接MySQL常用工具
  13. [转]企业安全建设二——如何推动安全策略
  14. 关于Elasticsearch的精确值查找(term)不生效问题
  15. 雪花算法-java实现
  16. 未来计算机的畅享300,新学期畅享作文300字(通用5篇)
  17. python如何打开npy文件_python实现npy格式文件转换为txt文件操作
  18. MySQL联合索引之索引失效与否
  19. 词霸天下---208 词根【-freeze- = -frig- = -friger- 冷,冰冻 】
  20. signature=689995ceebd2e64b214c3148d7b8e47a,WDR34基因突变致窒息性胸廓发育不良1例报道并文献复习...

热门文章

  1. 雷达原理第五版微盘pdf下载_雷达原理电子书(雷达原理PDF格式电子书)
  2. 短视频拍摄流程-----今抖云创
  3. PhotoShop导入webp格式图片
  4. 软件测试常见面试题分享
  5. 【Nightingale (夜莺)监控系统安装配置】
  6. 在页面引入项目路径 ${webRoot}
  7. JavaScript中的onmouseover事件和onmouseout事件实例
  8. srt格式导入pr乱码_字幕文件显示乱码怎么办 网易导出的srt导入pr乱码
  9. 字节跳动《Vim 中文手册》火了,完整版 PDF 开放下载!
  10. jquery html5关系图,html5 canvas复杂人物关系图设置代码