现状:
目前服务器使用带宽是2M,那么最大上行流量应该是250kb/s,而通过日志发现目前最大并发流量是350kb/s。
问题:
看到以上的结果时,我当时的疑问是最大并发流量超过了服务器最大上行流量,那么会不会有丢日志的可能?
解决:
通过多方面的咨询与查找资料,得到以下结论:
1、我理解,tcp协议本身存在所谓的滑动窗口的概念,即发送窗口和接受窗口可以存在时间延迟。 当然这个概念并不是起是否丢日志的决定性因素,第2点才是决定性因素。
2、起是否丢日志的决定性因素是客户端的策略;即当客户端发送日志时,服务器端流量不够时,客户端的请求会被阻塞,那么客户端对这种阻塞的处理才是决定是否丢日志的决定性因素啦。 然后我特意问了客户端的兄弟,目前的timeout时间是30秒,然后还会有3次的重试机会,所以丢日志的可能性目前来看是不大的。
3、邱实哥说的好,我花了若干时间解决这个问题的薪水的成本,还不如直接加带宽呢…… 但我表示至少这事儿咱得做到心里有底不是?
结论:
注,该结论目前并没有做实际的测试,只是估算。
1、SERVER使用的最大上行流量是最大并发流量的20%-50%即可,但如果平均流量本身就远远超过SERVER的上行流量,那唯一的办法就是增加SERVER的带宽啦。