Im Allgemeinen verhält sich die npm-Suche merkwürdig, es dauert sehr lange und sie variiert von Zeit zu Zeit in der Reihenfolge und Zeit.
Das erste Mal, als ich schrieb
%Vor%es dauerte mehr als zwei Minuten. Nachfolgende Suchen haben ungefähr 30 Sekunden gedauert. Manchmal bekomme ich die Übereinstimmungen vor der HTTP-Anfrage, manchmal umgekehrt:
Übereinstimmende Ergebnisse zuerst
%Vor%Übereinstimmende Ergebnisse zuletzt
%Vor%In jedem Fall dauert es etwa dreißig Sekunden. Da es weniger als die ersten zwei Minuten dauert, denke ich, dass etwas zwischengespeichert wurde, aber es macht immer noch eine HTTP-Anfrage, und es dauert immer noch überraschend lange. Es ist nicht die Zeit zwischen der ersten http-Zeile und der zweiten, die nur 1-2 Sekunden dauert. Aber es gibt eine Menge Wartezeit sowohl vor als auch nachher.
Was ist los und kann ich es beschleunigen?
Vor einem Jahr, als dieses Tutorial geschrieben wurde, hatte npm
weniger veröffentlichte Pakete. Derzeit sind es über 100.000. Um npm search
auszuführen, lädt npm
eine JSON-Datei herunter, die alle Pakete beschreibt, indiziert sie grob und durchsucht dann alle Paketbeschreibungen.
Das Ergebnis ist, dass npm search
als lokaler Befehl jetzt im Wesentlichen defekt ist - es wird abgeschlossen, aber sehr langsam, und es wird eine alarmierend große Datei erstellt (60MB).
Die vorgeschlagene Problemumgehung für den Augenblick besteht darin, das Online-Suchtool auf Ссылка
zu verwendenDer npm Repo sollte NICHT langsam sein. Einige Leute sagen hier, dass es über 100.000 Pakete hat ... Es hat tatsächlich mehr als 165.000, aber selbst diese Zahl ist wirklich klein für jede Datenbank. Ich glaube, dass sie CouchDB verwenden, was sehr schnell ist. In jedem Fall, wenn Sie nicht die gewünschten Ergebnisse erhalten, können Sie immer andere alternative Suchseiten wie:
verwendenIch hatte das auch schon, ich vermute, npm aktualisiert eine lokal zwischengespeicherte Paketliste. Die lange Verzögerung könnte die Repo-Daten abrufen.
Gerade jetzt dauerte meine erste Suche 35 Sekunden (eine kleine CPU, eine lange Wartezeit, dann 10 Sekunden feste CPU). Nachfolgende Suchvorgänge dauern 11 Sekunden mit 97% CPU-Auslastung.
Bearbeiten: 10 Sek. CPU auf einem AMD 3,6 GHz Phenom II, passen Sie für Ihre Hardware entsprechend an.
Tags und Links npm