npm Suche dauert lange

8

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?

    
Mads Skjern 26.12.2014, 20:40
quelle

3 Antworten

17

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 verwenden     
Sam Mikes 27.12.2014, 06:33
quelle
1

Der 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:

verwenden
user3621841 21.06.2015 01:41
quelle
0

Ich 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.

    
Andras 26.12.2014 22:14
quelle

Tags und Links