Як я можу діагностувати причину різко уповільненого часу, необхідного для завершення «пошуку файлів для рядка» під час використання Zend Studio?


0

Я часто використовую Searchфункцію всередині Zend Studioпрограмного забезпечення (яке побудовано поверх Eclipse). Я цим багато користуюся. Напевно, 10-100 разів на день.

Я відчув таємничу різноманітність у часі пошуку, коли використовую Пошук, щоб знайти рядок в одному з файлів всередині Проекту. Часто для заповнення пошукового запиту потрібна лише секунда. Але іноді це займає 10-20 секунд, і саме це я прагну вирішити / діагностувати.

Що я роблю:

  • натисніть Ctrl-H (відкриває меню пошуку)
  • введіть мою пошукову рядок
  • натисніть Пошук
  • зазвичай це займає близько 1 секунди або менше, але іноді це займає 10-20 секунд [і це питання]

Що я бачу

введіть тут опис зображення

Це трапляється епізодично, не весь час, але все ж часто.

Що я спробував:

я намагався

  • обмеження Working Setна певні папки
  • Обмежено File name patternsконкретними розширеннями файлів
  • Знешкоджений мій привід
  • Схоже, антивірус не сканує
  • Використання такого інструменту, як Process Monitorне збирає багато інформації. тобто останній раз, коли я його спіймав, я думаю, svchostщо він робив багато запитів на читання файлів, але це мало що сказало мені.

Питання

Як я можу діагностувати причину уповільнення пошуку?

Статистика

5461 Файли, 352 папки Загальний розмір файлів на 139 Мб на диску

Оновлення використання монітора процесів

Я два рази запустив свій пошук із ProcMon - перший раз був повільним, а другий - швидким. Перший пошук тривав 40 секунд, але повільний . Другий пошук тривав 1,8 секунди, так само швидкий . Повільний пошук повторюється перший раз, після того як я деякий час не використовую пошук, а потім він знову швидко запускається.

Я провів різницю як для повільних, так і для швидких пошукових подій, і серед усіх CreateFile, QueryDirectory, Close File, ReadFile, QueryStandardInformationFileОперацій для обох прогонів різниця між двома прогонами була - додаткові 2649 рядків для повільних, схожих на так:

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

Моя здогадка про причину повільного пошуку

Я здогадуюсь, що перший раз, можливо, фактично читаються файли, але вдруге вони десь повністю кешовані, і тому є різниця в швидкості. Я думаю, що для того, щоб прочитати всі файли вперше, потрібно близько 40 секунд, і лише після 2-х секунд, щоб переглядати їх повністю, коли вони кешовані.

У цьому сенсі кешування пояснює цю неймовірно драматичну різницю швидкостей. Мені все ж варто замислитися, якщо у мене повільний, старий або погано фрагментований диск для пошуку займає 40 секунд, тому що я не можу вважати, що повільний термін пошуку знаходиться в межах прийнятної норми.


Ви скаржилися, що пошук у кількох файлах займає 10 секунд !?
DavidPostill

Так. Я шукаю певний набір файлів, який зазвичай займає 1 секунду. Тож 10 секунд дуже помітно.
Денніс

Відповіді:


1

Денніс

Раніше у мене була така проблема, як у вас, і я використовував Monitor Monitor від Sysinternals для діагностики своєї проблеми. Оскільки це програмне забезпечення показує все, що відбувається "під капотом" в Windows, можливо, воно може вам допомогти.

Як би важко знайти рішення таким чином, але це може допомогти, якщо ви маєте терпіння і правильно встановите фільтри в Procmon. Потрібно встановити фільтр для вашого процесу (виконуваного зображення), щоб він фіксував лише те, що робить ваше програмне забезпечення.

Аналізуючи доступ до диска та реєстру, іноді ви можете мати підказки щодо проблеми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.