Δίκτυο αργές επιδόσεις παρουσιάζεται όταν αντιγράφετε αρχεία σε έναν ελεγκτή τομέα που εκτελεί Windows 2000 ή Windows Server 2003

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 321098 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Συμπτώματα

Εάν αντιγράφετε αρχεία από έναν υπολογιστή-πελάτη που βασίζεται στα Microsoft Windows 2000, έναν υπολογιστή-πελάτη που βασίζεται στα Microsoft Windows XP ή τον υπολογιστή-πελάτη που βασίζεται σε Microsoft Windows Server 2003 σε ένα κοινόχρηστο στοιχείο δικτύου σε έναν ελεγκτή τομέα που εκτελεί Windows 2000 ή Windows Server 2003, η απόδοση του δικτύου είναι χαμηλότερη από αν αντιγράψετε τα ίδια αρχεία σε ένα διακομιστή-μέλος που εκτελεί Windows 2000 ή Windows Server 2003. Εάν αντιγράφετε πολλά μικρά αρχεία, ίσως παρατηρήσετε αυτό το πρόβλημα, ωστόσο, ίσως δεν παρατηρήσετε αυτό το πρόβλημα εάν αντιγράφετε λίγα μεγάλα αρχεία. Αυτό το ζήτημα προκύπτει μόνο αν χρησιμοποιείτε είτε την Εξερεύνηση των Windows για να αντιγράψετε τα αρχεία ή ένα παράθυρο της Εξερεύνησης των Windows είναι ανοικτό και συνδεδεμένο στο διακομιστή προορισμού. Ωστόσο, εάν χρησιμοποιήσετε Xcopy.exe για να αντιγράψετε τα αρχεία και να κλείσουν όλα τα παράθυρα της Εξερεύνησης των Windows, δεν αντιμετωπίζετε αυτό το ζήτημα.

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή οι λειτουργίες εγγραφής μπλοκ μηνυμάτων διακομιστή (SMB) σε έναν ελεγκτή τομέα που εκτελεί Windows 2000 ή Windows Server 2003, ενδέχεται να αντιμετωπίσετε μια καθυστέρηση μέχρι 200 χιλιοστά του δευτερολέπτου μεταξύ των αντιγράφων του αρχείου.

Εάν αναθεωρήσετε ένα ίχνος του προβλήματος, παρατηρείτε ότι η καθυστέρηση παρουσιάζεται μετά το πρόγραμμα-πελάτης αποστέλλει στο διακομιστή έναSMB ειδοποίηση αλλαγήςη εντολή με την καταχώριση του FID που αντιστοιχεί στην εγγραφή FID του φακέλου προορισμού. Windows Explorer posts a Notify Change request on the network share, which asks to be notified if something changes in the folder that appears in the right pane of Windows Explorer. If a domain controller receives the Notify Change request, it does not respond to it immediately; it does not send packets for up to 200 milliseconds. At that point, a simple Transmission Control Protocol (TCP) acknowledgement (ACK) packet is sent and the file operation resumes as usual.

This behavior is a result of the interaction between two core networking components of Windows 2000, TCP delayed ACKs, and thread prioritization on domain controllers. Thread prioritization allows a domain controller to properly prioritize directory services and account management operations before some SMB activities, such as responding to Notify Change requests.

Προτεινόμενη αντιμετώπιση

ΣημαντικόΑυτή ενότητα, μέθοδο ή εργασία περιέχει βήματα που θα σας πληροφορήσει πώς να τροποποιήσετε το μητρώο. Ωστόσο, ενδέχεται να προκύψουν σοβαρά προβλήματα εάν δεν τροποποιήσετε σωστά το μητρώο. Κατά συνέπεια, βεβαιωθείτε ότι ακολουθείτε προσεκτικά τα εξής βήματα. Για επιπλέον προστασία, δημιουργήστε αντίγραφα ασφαλείας του μητρώου προτού το τροποποιήσετε. Με αυτόν τον τρόπο, μπορείτε να επαναφέρετε το μητρώο εάν προκύψει πρόβλημα. Για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:
322756Τρόπος δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου στα Windows

When you consider this problem, be aware that it only occurs in very specific circumstances; this problem only occurs if a client is using Windows Explorer to copy a large number of files to a Windows 2000-based domain controller. If you change the value of the delayed ACK timer, you can prevent some of the symptoms from occurring; however, if you modify a core TCP/IP value, you may experience unexpected results in the future. Therefore, Microsoft recommends that you consider other alternatives before you modify the timer. Other solutions include moving the file shares to a member server or using another tool (such as Xcopy or Robocopy, which is part of the Windows 2000 Resource Kit) to copy large numbers of files to a domain controller.

On the domain controller, you can edit theTcpDelAckTicksregistry value to adjust the TCP delayed ACK timer. If you change the TCP delayed ACK timer to a lower value, the server sends an ACK packet more frequently but at shorter intervals.

Note that on a high latency, highly saturated segment, the net increase in the ACK packets from the domain controller may put additional strain on the network. To make sure that the changed TCP delayed ACK timer value does not cause additional bottlenecks, test the value thoroughly.

If the network can handle the extra ACK packets, apply the following pre-Service Pack 3 (SP3) hotfix to Windows 2000 Service Pack 2 (SP2) so that you can modify the delayed ACK timer value:

311833The TcpDelAckTicks registry value has no effects on ACK timeouts
After you apply this hotfix, use the following procedure to add the following registry value that specifies the custom parameter for the delayed ACK timer:
  1. Ξεκινήστε τον επεξεργαστή μητρώου (registry editor) (Regedt32.exe).
  2. Locate and click the following key in the registry, whereAdapter GUIDis the globally unique identifier (GUID) for the network adapter that connects to the clients:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\Adapter GUID
  3. Στο διακομιστήΕπεξεργαστείτε τη διαδρομήμενού, κάντε κλικ στο κουμπίΠροσθήκη τιμής, και στη συνέχεια προσθέστε την ακόλουθη τιμή μητρώου:
    Όνομα τιμής:TcpDelAckTicks
    Τύπος δεδομένων: REG_DWORD
    Value data: You can set this value to a range from 0 to 6. The default setting is 2 (200 milliseconds).
  4. Κλείστε τον Επεξεργαστή Μητρώου.
  5. Restart Windows for this change to take effect.
This registry value specifies the number of 100-millisecond intervals to use for the delayed ACK timer on a per-interface basis. By default, the delayed ACK timer value is 200 milliseconds. If you set theTcpDelAckTicksη τιμή για την0, delayed acknowledgments are disabled. This setting causes the computer to immediately send an ACK packet for every packet it receives.

ΣΗΜΕΙΩΣΗAdapter-specific values are listed under subkeys for each adapter. Make sure that you add theTcpDelAckTicksvalue to the following registry key:
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\Adapter GUID
Do not add this value to the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα θέμα το οποίο παρουσιάζεται στα προϊόντα της που αναφέρονται στην ενότητα "Ισχύει για".

Περισσότερες πληροφορίες

In network traces you can see that the client sends the "SMB: C NT transact - Notify Change" packet. The Windows 2000-based domain controller sends back an ACK packet to the client 200 milliseconds later. After the client receives the ACK packet, the client begins the next SMB operation and copies the next file.

ΣΗΜΕΙΩΣΗIf you are using Network Monitor, you can see the delays better if you use the following filter:
SMB:Command == 0xA0 ( NT transact )
Use this filter in combination with the following display options:
Time: (x) Seconds from previous frame
You can identify the corresponding requests and answers by looking at the following SMB frame attribute:
SMB: Multiplex ID (MID)
The Delayed Acknowledgments functionality is based on Request for Comments (RFC) 1122. TCP uses delayed ACKs to reduce the number of packets that are sent on the network. The Microsoft TCP/IP stack takes a common approach to implementing delayed ACKs. When the data is received by TCP on a connection, the stack only returns an ACK if one of the following conditions is met:
  • Condition 1: No ACK is sent for the previous segment that is received.
  • Condition 2: A segment is received, but no other segment arrives within 200 milliseconds (the default value) for that connection.
Typically, an ACK is sent for every other TCP segment that is received on a connection unless the delayed ACK timer (200 milliseconds) expires. You can adjust the delayed ACK timer by using the procedure that is described in the "Resolution" section of this article to add theTcpDelAckTicksregistry value (this value is new in Windows 2000).

ΣΗΜΕΙΩΣΗBe aware that if you change theTcpDelAckTicksregistry value, you may experience unexpected effects in the future. Therefore, Microsoft recommends that you consider other alternatives before you modify the timer.

The delay occurs if the previous packet was acknowledged and the Notify Change request response is queued by a domain controller for a period of time that sometimes exceeds 200 milliseconds. Because the default ACK timer counts to 200 milliseconds, the TCP ACK packet occurs 200 milliseconds after the Notify Change request is received from the client. Because the client waits for a response from the server before it proceeds with the next SMB operation, the delay occurs while the server's delayed ACK timer counts to its threshold. If you perform a network trace, you notice that not every Notify Change request from the client experiences a delay.

Η αίτηση αλλαγής ειδοποίησης που δεν αντιμετωπίζουν την καθυστέρηση αμέσως προηγείται ένα άλλο πακέτο το οποίο δεν έχει αναγνωριστεί. Επομένως, η επιβεβαίωση δεν καθυστερεί στην αναγνώριση του ελεγκτή τομέα επειδή ικανοποιείται η πρώτη από τις συνθήκες που περιγράφονται στην αρχή αυτής της ενότητας. Οι αιτήσεις αλλαγής ειδοποίησης που αντιμετωπίζουν την καθυστέρηση είχε τα προηγούμενα πακέτα αναγνωριστεί, επομένως, ο ελεγκτής τομέα δεν ανταποκρίνεται ξανά μέχρι να λήξει ο χρονιστής καθυστερημένη ACK (η προεπιλεγμένη τιμή είναι 200 χιλιοστά του δευτερολέπτου) επειδή ενεργοποιείται η δεύτερη από τις συνθήκες που περιγράφονται σε αυτήν την ενότητα.

Δεν μπορείτε να τροποποιήσετε την προτεραιότητα του νήματος από έναν ελεγκτή τομέα, επομένως, πρέπει να αλλάξετε το πρωτόκολλο TCP καθυστερήσει τιμή χρονομέτρησης ACK σε χαμηλότερη τιμή για να αποτρέψετε τα συμπτώματα που περιγράφονται στην ενότητα "Συμπτώματα" αυτού του άρθρου από την εμφάνιση. Αφού το κάνετε αυτό, ο διακομιστής στέλνει τιμές ACK περισσότερα συχνά, αλλά σε μικρότερα χρονικά διαστήματα.

Για περισσότερες πληροφορίες σχετικά με τοTcpDelAckTicksμητρώο τιμής, ανατρέξτε στη λευκή βίβλο που βρίσκεται στην ακόλουθη τοποθεσία της Microsoft στο Web:
Λεπτομέρειες υλοποίησης του Microsoft Windows 2000 TCP/IP
For more information about this problem, click the following article number to view the article in the Microsoft Knowledge Base:
270926How to troubleshoot network file copy issues in Windows 2000
On a client that is running Windows XP or Windows Server 2003, there is a new registry key named TcpAckFrequency that controls TCP ACKs before the delayed ACK timer is reached.Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
328890New registry entry for controlling the TCP Acknowledgment (ACK) behavior in Windows XP and in Windows Server 2003
Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
321169Slow SMB performance when you copy files from Windows XP to a Windows 2000 domain controller

Ιδιότητες

Αναγν. άρθρου: 321098 - Τελευταία αναθεώρηση: Τρίτη, 21 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
Λέξεις-κλειδιά: 
kbprb kbmt KB321098 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:321098

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com