Перейти к содержимому
Калькуляторы

[РЕШЕНО] Redmine load CPU 100% При первом обращении CPU 100% 10-20 сек

Здравствуйте, на Ubuntu установлен RedMine, при первом обращении процесс ruby жрет 100%, web интерфейс висит в это время (10-20-30 секунд).

После того как просрется откроется, работает нормально ...

 

Инфа по системе и пакетам:

 

 

 

# aptitude show redmine
Package: redmine
State: installed
Automatically installed: no
Version: 1.1.3-4
Priority: extra
Section: universe/web
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Uncompressed Size: 12.7 M
Depends: ruby1.8, ruby-rails-2.3 | rails, dbconfig-common, redmine-sqlite | redmine-mysql | redmine-pgsql, debconf (>= 0.5) | debconf-2.0
PreDepends: debconf
Suggests: libsvn-ruby (>= 1.3), ruby-rmagick, libopenid-ruby
Conflicts: redmine
Breaks: redmine-plugin-botsfilter (<= 1.02-1), redmine-plugin-botsfilter (<= 1.02-1)
Description: flexible project management web application
Redmine is a flexible project management web application. Written using Ruby on Rails framework, it is cross-platform and cross-database.

Dependencies for database support are provided by these metapackages: redmine-mysql, redmine-pgsql, redmine-sqlite.

Features
* Multiple projects support
* Flexible role based access control
* Flexible issue tracking system
* Gantt chart and calendar
* News, documents & files management
* Feeds & email notifications
* Per project wiki
* Per project forums
* Time tracking
* Custom fields for issues, time-entries, projects and users
* SCM integration (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
* Issue creation via email
* Multiple LDAP authentication support
* User self-registration support
* Multilanguage support
Homepage: http://www.redmine.org


# uname -a
Linux edge 3.0.0-22-generic #36-Ubuntu SMP Tue Jun 12 17:37:42 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux


# aptitude show ruby
Package: ruby
State: installed
Automatically installed: yes
Version: 4.8
Priority: optional
Section: interpreters
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Uncompressed Size: 36.9 k
Depends: ruby1.8 (> 1.8.7.334-1)
Suggests: ri, ruby-dev
Conflicts: irb, irb, rdoc, rdoc, ruby
Replaces: irb, irb, rdoc, rdoc
Provides: irb, rdoc
Provided by: ruby1.8
Description: Transitional package for ruby1.8
This is a transitional package which ensures that users of ruby will use ruby1.8 in the future. It can safely be removed.
Homepage: http://www.ruby-lang.org/

 

 

 

Ветка процессов:

 

 

 

5245 ?        Ss     0:26 /usr/sbin/apache2 -k start
2569 ?        Sl     0:00  \_ /usr/lib/phusion_passenger/ApplicationPoolServerExecutable 0 /usr/lib/phusion_passenger/passenger-spawn-server  /usr/bin/ruby  /t
2570 ?        Sl     9:08  |   \_ Passenger spawn server
8667 ?        S      0:31  |       \_ Passenger ApplicationSpawner: /usr/share/redmine
15345 ?        S      0:03  \_ /usr/sbin/apache2 -k start
6921 ?        S      0:03  \_ /usr/sbin/apache2 -k start
6925 ?        S      0:03  \_ /usr/sbin/apache2 -k start
6926 ?        S      0:03  \_ /usr/sbin/apache2 -k start
8539 ?        S      0:01  \_ /usr/sbin/apache2 -k start
4289 ?        S      0:00  \_ /usr/sbin/apache2 -k start
1760 ?        S      0:00  \_ /usr/sbin/apache2 -k start
1762 ?        S      0:00  \_ /usr/sbin/apache2 -k start
1763 ?        S      0:00  \_ /usr/sbin/apache2 -k start
1793 ?        S      0:00  \_ /usr/sbin/apache2 -k start

 

 

 

TOP

 

 

 

top - 13:00:58 up 36 days, 19:17,  1 user,  load average: 0.33, 0.16, 0.19
Tasks:  92 total,   2 running,  90 sleeping,   0 stopped,   0 zombie
Cpu(s): 24.9%us,  0.3%sy,  0.0%ni, 74.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2055888k total,  1360796k used,   695092k free,   146692k buffers
Swap: 11717628k total,     1052k used, 11716576k free,   674488k cached

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
8743 www-data  20   0  194m 114m 2112 R  100  5.7   0:19.28 ruby
1760 www-data  20   0  215m  18m 4300 S    0  0.9   0:00.55 apache2
1762 www-data  20   0  209m  14m 3888 S    0  0.7   0:00.58 apache2
1763 www-data  20   0  208m  12m 3452 S    0  0.6   0:00.09 apache2
1793 www-data  20   0  214m  17m 4488 S    0  0.9   0:00.34 apache2
4289 www-data  20   0  210m  14m 3840 S    0  0.7   0:00.36 apache2
6921 www-data  20   0  232m  35m 4608 S    0  1.8   0:03.92 apache2
6925 www-data  20   0  232m  35m 4672 S    0  1.8   0:03.76 apache2
6926 www-data  20   0  214m  18m 4440 S    0  0.9   0:03.08 apache2
8539 www-data  20   0  215m  18m 4468 S    0  0.9   0:01.36 apache2
8667 www-data  20   0  191m 112m 3596 S    0  5.6   0:31.62 ruby
15345 www-data  20   0  232m  35m 4668 S    0  1.8   0:03.14 apache2

 

 

 

Первая инсталляция, сравнивать не с чем. Может кто-то сталкивался, буду рад совету.

Изменено пользователем a-zazell

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это нормально, просто при первом обращении компилируется ruby-код. Можно в логротейте поставить что-то типа curl http://127.0.0.1/redmine 1>/dev/null 2>/dev/null (если вы логротейте делает restart, а не reload. reload иногда приводит в segfault-у)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это нормально, просто при первом обращении компилируется ruby-код. Можно в логротейте поставить что-то типа curl http://127.0.0.1/redmine 1>/dev/null 2>/dev/null (если вы логротейте делает restart, а не reload. reload иногда приводит в segfault-у)

 

Не совсем понял, это для ротации ruby или redmine, имя конфига мне бы помог (=?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Руби это инетрпретируемый, а не компилируемый язык. Это, однако, не отменяет возможности активации ленивого кеширования при первой загрузке.

В данном случае сервер приложений — это Phusion Passenger, который подгружается в апач как модуль. Именно он ответственнен за управление рельсами (фреймфорк, на котором написан редмайн). Проблема холодного старта пассажира в общем-то известна и, как мне известно, решается настройкой. Задача в том, чтобы пассажир подготавливал процесс приложения до прихода первого запроса.

Вот ссылки в гугл с правильными запросами:

https://www.google.ru/?gws_rd=cr#bav=on.2,or.r_cp.r_qf.&fp=3c92bd72a20de06a&newwindow=1&q=phusion+passenger+slow+startup&safe=off

Вот обсуждение на стэк оверфлоу:

http://stackoverflow.com/questions/853532/slow-initial-server-startup-when-using-phusion-passenger-and-rails

Конфигурация пассажира должна находиться где-то в /etc/apache2/mods-enabled. Наверно passenger.conf или что-нибудь вроде того.

Изменено пользователем decuplet

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте, на Ubuntu установлен RedMine, при первом обращении процесс ruby жрет 100%, web интерфейс висит в это время (10-20-30 секунд).

После того как просрется откроется, работает нормально ...

 

Прогревается, ага. Ruby 1.9 вместо 1.8 значительно ускорит процесс. Не обязательно пулить по крону, passanger'у можно указать, чтобы он после форка рабочего процесса делал на него запрос: http://www.modrails.com/documentation/Users%20guide%20Apache.html#PassengerPreStart

Изменено пользователем littlesavage

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за советы, про кэширование уже "догнал", читаю про Passenger ... По результатам отпишусь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте, на Ubuntu установлен RedMine, при первом обращении процесс ruby жрет 100%, web интерфейс висит в это время (10-20-30 секунд).

После того как просрется откроется, работает нормально ...

 

Прогревается, ага. Ruby 1.9 вместо 1.8 значительно ускорит процесс. Не обязательно пулить по крону, passanger'у можно указать, чтобы он после форка рабочего процесса делал на него запрос: http://www.modrails.com/documentation/Users%20guide%20Apache.html#PassengerPreStart

 

Спасибо за наводку, привел к пре старту пассажира в момент apache2 restart. Кэшем плотно не занимался, не тот масштаб проекта ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.