Wpis z mikrobloga

Mam na serwerze z ubuntu 16 gitlab-runnera. To taki program do autodeploy, który odpala automatycznie skrypt przy zmianach w repo gita, to mało istotne. Ten program ma swojego użytkownika i puszcza ten skrypt, głównie instaluje pakiety composera i npm.

Kiedy na swoim użytkowniku to robię ręcznie, to zajmuje to tylko chwilę. Jeśli robi to ten gitlab-runner, to zawiesza się na npm na dosyć długi czas. Przy okazji zamulając cały serwer. Jeśli puszczę jednocześnie dwa takie taski, to wszystko stoi, od wszystkich stron internetowych po ssh i to na dobre 8 minut.

Czy wiecie co może być przyczyną? Od czego zacząć debugowanie? Czy jest możliwe, że swap jest tylko dla jednego usera, mnie? Tak czy inaczej zużycie jest na poziomie max 10% wszystkiego, od procka po ram i dysk w idle.

Sprzęt to i5-2300 - 16GB ram - 1x2To hdd - 100 Mbps

#programowanie #linux #serwery #gitlab #pytanie
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@spike200: Pewnie przy każdym stage'u ściąga od nowa zależności z package.json, wrzuć do configa gitlab-ci.yml żeby keszowal sobie node modules między jobami. Na shared runners ten problem tez wystepuje czy tam idzie to szybciej?
  • Odpowiedz
@Krucyfiks: @villager: Nie mam cachowania i nie chcialem miec, porownywalem to do odpalania npm dokladnie tak samo jak dziala moj gitlab runner. Klonuje repo do folderu, wrzuca npm i robi symlinka. A w gitlab-runnerze sam npm zanim w ogóle zacznie cokolwiek ściągac to się jakby bardzo długo ładuje i zawiesza serwer jeśli dwie instancje runnera są uruchomione.

Uruchamiam przez tryb shell gitlab-runnera, nie korzystam z dockera. Po prostu
  • Odpowiedz