Al observar htop
la salida de mi servidor, veo 25 procesos sidekiq generados por Gitlab. Utilizo Gitlab de forma privada, por lo que nunca habrá ninguna carga, por lo que dudo que todos esos procesos sean necesarios, pero no veo cómo configurar su número.
¿Tiene realmente algún sentido que me preocupe por eso en un servidor con recursos restringidos?
Respuesta1
Claro, mira este hilo aquí:https://github.com/gitlabhq/gitlabhq/issues/2780
Simplemente edite el archivo sidekiq config.yml, tenga en cuenta la opción de concurrencia:https://github.com/mperham/sidekiq/blob/master/examples/config.yml
Respuesta2
Edité los argumentos de inicio de Sidekiq. En GitLab <7.0.0 está por debajo scripts/background_jobs
pero en >7.0.0 está por debajobin/background_jobs
Cambiar:
function start_sidekiq
{
bundle exec sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e $RAILS_ENV -P $sidekiq_pidfile $@ >> $sidekiq_logfile 2>&1
}
A:
function start_sidekiq
{
bundle exec sidekiq -c 10 -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e $RAILS_ENV -P $sidekiq_pidfile $@ >> $sidekiq_logfile 2>&1
}
Observe la -c 10
. Cambia eso a lo que quieras.
Respuesta3
En la instalación de Debian de la versión 9.3.0 tenía /etc/gitlab/gitlab.rb
líneas de configuración para sidekiq.
Cambiar
# sidekiq['concurrency'] = 25
a cualquier número que parezca adecuado:
sidekiq['concurrency'] = 5
(La razón por la que cambié fue porque los 25 procesos predeterminados consumieron mucha RAM, lo que provocó que se usara el intercambio, lo que a su vez hizo que gitlab fuera muy lento. El rendimiento mejoró mucho para mí después de este cambio)
Respuesta4
Para mí funcionó simplemente ir a /home/git/gitlab/config
. Había un sidekiq.yml.example
expediente. Acabo de correr:
$ cd /home/git/gitlab/config
$ cp sidekiq.yml.example sidekiq.yml
Usando vim sidekiq.yml
verás que hay una :concurrency:
opción. Configúrelo en la cantidad de procesos sidekiq que desee, guarde el archivo y ejecútelo service gitlab restart
.
Descargo de responsabilidad: la ubicación de su carpeta de instalación de GitLab puede variar. para mi fue/home/git/gitlab