Freqüentemente, uso a função Search
dentro de Zend Studio
software (que é construída sobre Eclipse
). Eu uso isto muito. Provavelmente 10 a 100 vezes por dia.
Eu experimentei uma variedade misteriosa no tempo de pesquisa, quando eu uso a Pesquisa para encontrar uma string em um dos arquivos dentro do projeto. Geralmente, leva apenas um segundo para concluir a solicitação de pesquisa. Mas às vezes leva de 10 a 20 segundos, e esse é o problema que procuro resolver / diagnosticar.
O que eu faço:
- pressione Ctrl-H (abre o menu de pesquisa)
- digite minha string de pesquisa
- pressione Buscar
- geralmente leva cerca de 1 segundo ou menos, mas às vezes leva de 10 a 20 segundos [e esse é o problema]
O que eu vejo
Acontece esporadicamente, não o tempo todo, mas acontece freqüentemente mesmo assim.
O que eu tentei:
Eu tentei
- restringindo
Working Set
a subpastas específicas
-
File name patterns
restrito a extensões de arquivo específicas
- Defragged my drive
- O antivírus não parece estar digitalizando
- O uso de uma ferramenta como
Process Monitor
não reúne muitas informações. ou seja, da última vez que percebi, acho que svchost
parecia estar fazendo muitas solicitações de leitura de arquivos, mas isso não me dizia muito.
Pergunta
Como posso diagnosticar uma causa dos abrandamentos da pesquisa?
Estatísticas
5461 arquivos, 352 pastas
139MB de tamanho total de arquivos no disco
Atualizar o uso do Process Monitor
Eu fiz minha pesquisa com o ProcMon duas vezes - a primeira vez foi lenta e a segunda foi rápida. A primeira pesquisa durou 40 segundos, também conhecida como lento . A segunda pesquisa correu 1,8 segundos, também conhecida como rápido . A pesquisa lenta é repetida pela primeira vez, depois de eu não usar a pesquisa por um tempo e, em seguida, ela corre rápido novamente.
Eu executei um diff para eventos de busca lentos e rápidos, e entre todas as execuções CreateFile, QueryDirectory, Close File, ReadFile, QueryStandardInformationFile
Operations para ambos , a diferença entre duas execuções foi - extra 2.649 linhas para lento, semelhante a :
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
Meu palpite sobre o motivo da pesquisa lenta
Meu palpite é que, pela primeira vez, os arquivos talvez sejam realmente lidos, mas na segunda vez eles são totalmente armazenados em cache em algum lugar, e é por isso que há uma diferença de velocidade. Eu acho que leva cerca de 40 segundos para ler todos os arquivos pela primeira vez, e apenas 2 segundos para passar por eles novamente, quando eles estão em cache.
Nesse sentido, caching explica essa diferença de velocidade incrivelmente dramática. Eu tenho que me perguntar, no entanto, se eu tenho uma unidade lenta, antiga ou mal fragmentada para a busca levar 40 segundos, já que não consigo imaginar que o tempo de busca lento esteja dentro da norma aceitável.