The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Опыт GitHub по миграции на Rails 3 без остановки работы

16.09.2014 09:44

Один из инженеров GitHub рассказал об организации завершившейся неделю назад миграции инфраструктуры с устаревшего форка фреймворка Ruby on Rails 2.3 на более актуальную ветку Rails 3. Миграцией занимались 4 инженера в режиме полного рабочего дня в течение 6 месяцев. Кроме снятия огромного бремени по сопровождению уже официально не поддерживаемой кодовой базы, обросшей горой надстроек и патчей, переход на Rails 3 позволил добиться существенного снижения нагрузки на серверы.

Миграция была проведена постепенно: на фрондэнд-серверах была обеспечена возможность одновременного применения Rails 2.3 и 3, что позволило отлаживать работу новой версии на небольшом срезе реального трафика, постепенно перенося нагрузку со старой конфигурации на новую.



  1. Главная ссылка к новости (http://shayfrendt.com/posts/up...)
  2. OpenNews: В Rails устранена уязвимость, позволяющая осуществить подстановку SQL-кода
  3. OpenNews: Релиз web-фреймворка Ruby on Rails 4.1
  4. OpenNews: Релиз web-фреймворка Ruby on Rails 4.0
  5. OpenNews: Релиз web-фреймворка Ruby on Rails 3.2
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/40597-rails
Ключевые слова: rails, ruby
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (22) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:05, 16/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Почему не 4?
     
     
  • 2.2, бедный буратино (ok), 11:27, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    а он уже был 6 месяцев назад? и был ли он тогда "готов для гитхаба"?
     
     
  • 3.4, Аноним (-), 11:56, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    http://weblog.rubyonrails.org/2013/6/25/Rails-4-0-final/

    > June 25, 2013

     
     
  • 4.5, vitalif (ok), 12:02, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +8 +/
    ну норм, вот теперь им ещё 6 месяцев будет чем заняться)))
     

  • 1.3, Аноним (-), 11:29, 16/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    круто \m/
     
     
  • 2.18, Аноним (-), 21:46, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Да, нынче модно заменять рельсы прямо под поездом. Иногда, правда, случаются фэйлы, как в московском метро.
     

  • 1.6, Аноним (-), 12:31, 16/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    хм, а странно что нет подобных новостей с bitbucket.org, ведь они тоже сейчас уже на относительно свежей версии Django 1.6.5 сидят.
     
     
  • 2.7, th3m3 (ok), 15:30, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С Джангой это проще намного.
     
     
  • 3.8, Аноним (-), 15:40, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это почему?
     
     
  • 4.11, Аноним (-), 16:15, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У неё деприкейшен полисес похожи на энтерпрайсные, соответственно нет таких проблем с переходом на более свежие версии как у ROR.
     
  • 2.19, Аноним (-), 21:47, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > хм, а странно что нет подобных новостей с bitbucket.org,

    Потому что bitbucket мало кому вперся и о том что там творится - знают полтора избранных.

     

  • 1.9, pavlinux (ok), 16:08, 16/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Если бы написали на C, сервера бы вообще простаивали.
     
     
  • 2.10, rain87 (?), 16:13, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ну да, потому что они бы всё ещё писали
     
  • 2.13, Аноним (-), 16:49, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А если бы написали на ассемблере, сервера сами бы начали вырабатывать и закачивать ток обратно в электросеть.
     
     
  • 3.15, I (?), 18:11, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +/

    А если бы писали на Brainfuck?
     
     
  • 4.16, I (?), 18:12, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    !
     
  • 4.20, Аноним (-), 21:48, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А если бы писали на Brainfuck?

    Тогда постепенно образовался бы искусственный интеллект, который захватил бы сервера под свое управление, объявил себя покемоном и дальше - ну вы поняли.

     
  • 3.17, pavlinux (ok), 19:26, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ну,... если в клаву встроить генератор от нажатий, то можно даже обогреть Силиконовую долину,
    хоть какая-то польза будет от кнопкодавов.  
     

  • 1.12, Ordu (ok), 16:21, 16/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Первая картинка прокомментирована так:

    > For example, we found it important to monitor the amount of time
    > spent per request in object garbage collection

    ...
    > Knowing immediately if a change you’ve deployed is affecting your
    > users' experience is a good thing.

    То есть, он говорит так, будто эта картинка -- что-то хорошее. Но мне лично неочевидно это: вообще, когда мне приходится использовать языки с GC, я наоборот стремлюсь к тому, чтобы GC как можно реже бы использовался, в идеале не использовался бы вовсе. Ну, там, выделяя всё что можно на стеке, не выделяя вовсе, повторно используя выделенное -- есть масса способов. Но судя по картинке, после смены версии GC начал отжирать больше времени в процентном отношении. Что в этом хорошего?

     
     
  • 2.14, Аноним (-), 17:07, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошего в этом может быть то, что абсолютное время, проводимое в гц могло не поменяться, т.е. запросы стали обслуживаться быстрее.
     
  • 2.21, Аноним (-), 21:49, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> spent per request in object garbage collection

    Сначала себе создадим сложности, а потом будем их героически решать. Иначе неинтересно.

     
     
  • 3.22, Ordu (ok), 22:39, 16/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >>> spent per request in object garbage collection
    > Сначала себе создадим сложности, а потом будем их героически решать. Иначе неинтересно.

    Да-да, мы знаем: надо на ассемблере писать. Никаких искусственных сложностей.

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру