TokyoTrant同步问题

1. 同样在一组磁盘上的两个TT端口,其读写操作是根据均匀的hash方式来分配的,但是,其中一个3001端口同步数据就很慢,而3002端口同步数据就很快,重启3001端口依然很慢; 把3002端口停掉之后,3001端口依然很慢。

2. 通过tcpdump抓包发现:
   3001端口的master 2001端口,数据流表现为:
      2001 ——–很多数据给—–》 3001
      3001 ——–因为吃不消,所以act 一个win(0) 给 —-》 2001
      2001 ——–不断询问 ———-》3001
      2001 ——–不断询问 ———-》3001
      2001 ——–不断询问 ———-》3001
      3001 ——–响应,说在给点儿吧 ——-》 2001
      2001 ——–很多数据给 ———…..
 
    使用netstat也可以发现,对于3001的同步连接中的接受队列总是会阻塞很多数据,看来是执行的太慢

3. 观察 3001端口的执行情况,下面是使用strace跟踪的这个繁忙的ttserver进程的系统调用情况:
  
  
   为什么futex耗费的时间如此惊人?

留下评论

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据