12月 222011
 

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耗费的时间如此惊人?

 Posted by at 上午 10:59

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

(required)

(required)

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