Wie kann ich die Ursache einer drastisch langsameren Zeit feststellen, die bei der Verwendung von "Zend Studio" erforderlich ist, um "Dateien nach Zeichenketten suchen" zu suchen?

331
Dennis

Ich verwende häufig SearchFunktionen in der Zend StudioSoftware (die auf gebaut ist Eclipse). Ich benutze es viel. Wahrscheinlich 10-100 mal am Tag.

Ich habe eine mysteriöse Vielfalt in der Suchzeit erlebt, wenn ich mithilfe von Search eine Zeichenfolge in einer der Dateien im Projekt finde. Oft dauert es nur eine Sekunde, um die Suchanfrage abzuschließen. Aber manchmal dauert es 10 bis 20 Sekunden, und das ist das Problem, das ich lösen / diagnostizieren möchte.

Was ich mache:

  • drücke Strg-H (öffnet das Suchmenü)
  • Geben Sie meine Suchzeichenfolge ein
  • drücken Sie Suche
  • Normalerweise dauert es etwa 1 Sekunde oder weniger, aber manchmal dauert es 10-20 Sekunden [und das ist das Problem]

Was ich sehe

Wie kann ich die Ursache einer drastisch langsameren Zeit feststellen, die bei der Verwendung von

Es passiert sporadisch nicht immer, aber es passiert trotzdem häufig.

Was ich probiert habe:

Ich habe versucht

  • Beschränkung Working Setauf bestimmte Unterordner
  • Beschränkt File name patternsauf bestimmte Dateierweiterungen
  • Mein Laufwerk defragmentiert
  • Antivirus scheint nicht zu scannen
  • Mit einem solchen Tool werden Process Monitornicht viele Informationen gesammelt. Das heißt, als ich das letzte Mal erwischt habe, svchostschien es mir, als ob ich eine Menge Dateiausfragen gemacht hätte, aber das hat mir nicht viel gesagt.

Frage

Wie kann ich eine Ursache für die Verlangsamung der Suche feststellen?

Statistiken

5461 Dateien, 352 Ordner 139 MB Gesamtgröße der Dateien auf der Festplatte

Update bei der Verwendung von Process Monitor

Ich habe meine Suche mit ProcMon zweimal ausgeführt - beim ersten Mal war es langsam und beim zweiten Mal war es schnell. Erste Such lief 40 Sekunden, auch bekannt als langsam . Zweite Suche lief 1,8 Sekunden, auch bekannt als schnell . Die langsame Suche wird das erste Mal wiederholt, nachdem ich die Suche eine Zeit lang nicht verwendet habe, und dann läuft sie wieder schnell.

Ich lief einen diff für langsame und schnelle Suche Events und unter allen CreateFile, QueryDirectory, Close File, ReadFile, QueryStandardInformationFileOperationen für beiden Läufe, die Differenz zwischen zwei Läufen war - extra 2.649 Linien für langsame, ähnlich wie so:

Process Name: ZendStudio.exe Operation: ReadFile Path: jpgraph\src\jpgraph_plotband.php Result: SUCCESS Detail: Offset: 0, Length: 8,192, I/O Flags: Non-cached, Paging I/O, Priority: Normal 

Ich vermute den Grund für die langsame Suche

Meine Vermutung ist, dass die Dateien zum ersten Mal tatsächlich tatsächlich gelesen werden, aber beim zweiten Mal werden sie irgendwo vollständig zwischengespeichert, und deshalb gibt es einen Geschwindigkeitsunterschied. Ich schätze, es dauert ungefähr 40 Sekunden, um alle Dateien beim ersten Mal zu lesen, und nur 2 Sekunden, um sie vollständig durchzulesen, wenn sie zwischengespeichert werden.

In diesem Sinne erklärt Caching diesen unglaublich dramatischen Geschwindigkeitsunterschied. Ich frage mich jedoch, ob ich einen langsamen, alten oder schlecht fragmentierten Suchlauf für die Suche habe, der 40 Sekunden dauert, da ich nicht feststellen kann, dass der langsame Suchzeitpunkt innerhalb einer akzeptablen Norm liegt.

0
Sie beschweren sich, weil die Suche in mehreren Dateien 10 Sekunden dauert !? DavidPostill vor 7 Jahren 0
Ja. Ich suche eine bestimmte Gruppe von Dateien, die normalerweise 1 Sekunde dauert. 10 Sekunden sind also sehr auffällig. Dennis vor 7 Jahren 0

1 Antwort auf die Frage

1
RHaguiuda

Dennis

In der Vergangenheit hatte ich ein Problem wie Ihres und ich habe Process Monitor von Sysinternals verwendet, um mein Problem zu diagnostizieren. Da diese Software alles zeigt, was unter Windows "unter der Haube" geschieht, kann es Ihnen vielleicht helfen.

Es ist schwierig, die Lösung auf diese Weise zu finden, aber es kann hilfreich sein, wenn Sie Geduld haben und Filter in Procmon richtig einstellen. Sie müssen einen Filter für Ihren Prozess (Ihr ausführbares Image) festlegen, damit nur die Aktivitäten der Software erfasst werden.

Durch die Analyse des Festplatten- und Registrierungszugriffs können Sie manchmal Hinweise auf das Problem haben.