Назад | Перейти на главную страницу

задержка в пакетах ACK для запроса отказа ldap

мы перешли с сервера openldap в Linux на DirX в Windows 2008. Сервер LDAP и обычный поисковый запрос ведут себя так, как ожидалось. Однако с некоторыми приложениями (веб-приложения, развернутые weblogic) возникают проблемы с производительностью.

Мы проследили сетевую активность и обнаружили, что, когда клиент отправляет операцию «отказаться», сервер ldap отправляет и ACK с RTT равным 0,1–0,2 с.

Мы не уверены на 100%, но думаем, что именно отсюда и падает производительность. взаимодействие, которое мы рассмотрели, имело 270 отказов, а 179 ACKS имели RTT> 0,2 с.

Не будучи знаком с TCP, у меня возникают следующие вопросы:

  1. ACK, отправленный в ответ на получение пакета, не зависит от того, сколько времени потребуется получателю для обработки всех отправленных данных. это происходит на уровне tcp до того, как получатель даже получит входящую полезную нагрузку (в нашем случае отказ). право?
  2. все другие взаимодействия говорят, что searchrequest / searchresponse имеет подтверждение в пакете полезной нагрузки. это «задержка подтверждения»? они занимают всего около 0,01 с, включая полезную нагрузку и предположительно вычисления. Так почему же отдельные ACKS отправляются на отказ? или задать такой вопрос: когда отправляются отдельные подтверждения, а не комбинированные подтверждения + данные?

    657 9.2943  ldapserver  ldapclient  LDAP    170 searchResDone(57)                                                          
    658 9.2948  ldapclient  ldapserver  TCP 66  18367 > 389 [ACK] Seq=10007 Ack=19799 Len=0  
    659 9.2954  ldapclient  ldapserver  LDAP    1009    searchRequest(134)                                         
    660 9.2972  ldapserver  ldapclient  LDAP    630 searchResEntry(134)                                        
    661 9.2973  ldapserver  ldapclient  LDAP    172 searchResDone(134)                                             
                                                            Sequence number:45106, len=106
    662 9.2978  ldapclient  ldapserver  LDAP    76  abandonRequest(134)                                                            
                                                            Sequence number: 46818, len=10
    
    
    663 9.3378  ldapclient  ldapserver  TCP 66  18368 > 389 [ACK] Seq=46828 Ack=45212 Len=0            
                                                            (The RTT to ACK the segment was: 0.040492000 seconds)
    664 9.5062  ldapserver  ldapclient  TCP 66  389 > 18368 [ACK] Seq=45212 Ack=46828 Len=0            
                                                            (The RTT to ACK the segment was: 0.208397000 seconds)
    
    665 9.5068  ldapclient  ldapserver  LDAP    183 searchRequest(136)                                          
    666 9.5229  ldapserver  ldapclient  LDAP    163 searchResEntry(136)                                             
    667 9.5229  ldapserver  ldapclient  LDAP    170 searchResDone(136)                                      
    

Спасибо,

Майкл