Czasami operacje wymykają się spod kontroli w MongoDB i mogą działać przez setki sekund i wpływać na wydajność, dopóki nie zostaną zabite lub zakończone.
Kiedy tak się dzieje, wiem, że mam killOp()
do dyspozycji, ale jak mogę zabijać tylko ukierunkowane operacje długotrwałe bez zabijania (na przykład) operacji długotrwałych związanych z replikacją (co może być niebezpieczne)?
źródło
db.currentOp()
na naszej podzielonej bazie danych zwraca operacje w przestrzeni nazw „” (aka ns: „”), które działają bardzo długo z opisem „pracownika zapisującego replikę n” (gdzie n jest liczbą całkowitą). Sugeruję dodanie białej listy obszarów nazw do rzeczywistych baz danych za pomocą zapytań, które możesz chcieć zabić. Coś jak&& (['users', 'analytics'].indexOf(op.ns) != -1)
zamiast!op.ns.startsWith
warunku.