Обновление сервера

Сегодня утром обновил php на сервере, до версии 5.4.14 (раньше был 5.3.10).

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

Баг уже пофиксили, да и комментарии я переписал, так что теперь обновился почти без проблем. Ну как, немного заморочек всё же было, но уже не на сайте, а на самом сервере — возникла неразбериха с конфигами, поэтому сайты не работали около 30 минут.

Все трудности были успешно преодолены, сервер работает как надо.

Скорость php заметно увеличилась (на 0.1 — 0.2 сек.), потребление памяти сократилось (на 2.2 — 3 Мб). Главная страница выдаёт вот такое:
render time: 0.1806 s
memory: 4.75 Mb

Конечно, в зависимости от нагрузки и состояния кэша бывает и побольше, но всё равно — быстрее чем было.

Самая здоровенная страница, на которой выбирается без кэша 326 комментариев показывает
render time: 0.5009 s
memory: 9.25 Mb

Считаю — весьма неплохо. Сайт работает на Tickets, без всяких там шаблонизаторов и прочих изысков — просто стандартный компонент на стандартном MODX.

Если кто желает рискнуть своим сервером и обновиться, делайте так:
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get upgrade -y
При обновлении будут вопросы, мол, сохранять ли старые конфиги? Да, сохранять.

Проверять версию php можно так
php -v

Если кто заметит баги в работе сайта — просьба отписываться в комментариях.

Следующая заметка
Первый серьёзный магазин на MS2
Предыдущая заметка
Субботний досуг


Комментарии ()

  1. Alex Vakhitov 22 апреля 2013, 15:17 # 0
    У меня после обновления cache_prefix для APC перестал работать, так угарно было видеть составные сайты. (:
    1. Алексей 25 апреля 2013, 10:47 # 0
      не подскажешь как справился? после обновления с
      cache_handler = cache.xPDOAPCCache
      phpthumbof не работает
      1. Василий Наумкин 25 апреля 2013, 10:50 # 0
        Не знаю, какая тут может быть связь.

        У меня нет проблем.
      2. Алексей 25 апреля 2013, 10:52 # 0
        вернее он совсем перестал работать, вне зависимости от значения
        cache_handler
        лечение временное такое: удаляем вручную папку core/cache и чистим кэш затем штатным средством modx.
        UPD: проверил на другом инстансе — все ОК. эт мои видимо тараканы в скриптах очищения
        1. Alex Vakhitov 25 апреля 2013, 11:12 # 0
          Я переставил отдельно apc, и обновил все сайты. После все работать стало. Вообще на скока я знаю apc для php 5.4 в бете висит поэтому всякие штуки случаются
          1. Алексей 25 апреля 2013, 11:32 # 0
            нда, шутки шутками, а своевременно нужно хотя бы обнаружить, мое решение:
            плагин на события

            case 'OnSiteRefresh':
                case 'OnResourceDelete':
                case 'OnResourceUndelete':
                case 'OnResourceDuplicate':
                case 'OnDocPublished':
                case 'OnDocUnPublished':
                case 'OnResourceSort':
                case 'OnBeforeDocFormSave':
            //minishop
                case 'msOnOrderChangeStatus':
                case 'msOnTVUpdate':
                case 'msOnProductUpdate':
            //admin
                case 'OnTemplateSave':
                case 'OnSnippetSave':
                case 'OnPluginSave':
                case 'OnChunkSave':
                    $modx->cacheManager->deleteTree(
                        MODX_BASE_PATH.'core/cache/',
                        array(
                            'deleteTop' => false,
                            'skipDirs' => false
                        )
                    );
                    break;
            не подскажешь как свежий APC переустановить?
            1. Василий Наумкин 25 апреля 2013, 11:35 # 0
              sudo apt-get purge php-apc
              sudo apt-get update
              sudo apt-get install php-apc
              
              1. Alex Vakhitov 25 апреля 2013, 11:45 # 0
                Все как обычно, удаляешь и ставишь. Как бы я для боевых сайтов старый добрый memcache использую, или mongo. Все хочу до ума довести свой кэшер для modx который с mongo работает, но времени нету вообще
                1. Алексей 25 апреля 2013, 11:53 # 0
                  что за зверь — mongo? можно ссылку
                  1. Alex Vakhitov 25 апреля 2013, 11:57 # 0
                    Nosql база данных www.mongodb.org/
                2. Алексей 25 апреля 2013, 13:05 # 0
                  и теперь лексикон чиститься только service php5-fpm restart -(
          2. Алексей 23 апреля 2013, 09:13 # 0
            root@li190-163:~# sudo apt-get upgrade -y
            Reading package lists... Done
            Building dependency tree
            Reading state information... Done
            The following packages have been kept back:
              php-apc php-pear php5-cli php5-common php5-curl php5-dev php5-fpm php5-gd php5-imagick php5-mcrypt php5-memcache php5-mysql
            0 upgraded, 0 newly installed, 0 to remove and 12 not upgraded.
            
            действовал по инструкции, не хочет работать
            1. Andrei Kilin 23 апреля 2013, 09:15 # 0
              Аналогичная ситуация
              1. Василий Наумкин 23 апреля 2013, 09:20 # 0
                Тогда пробуй
                sudo apt-get dist-upgrade -y
                1. Andrei Kilin 23 апреля 2013, 11:14 # 0
                  всё ок. спасибо
                  1. Алексей 23 апреля 2013, 12:12 # 0
                    получилось! даже apc обновился
                    You are running the latest version of APC (3.1.13)
                    а это что за чудесная команда?
                    ppa:ondrej/php5
                    1. Василий Наумкин 23 апреля 2013, 12:17 # 0
                      Это добавление репозитория со свежими сборками php.

                      В Ubuntu 12.04 нет php 5.4, он появляется только в 12.10 — поэтому нужно добавить сторонний источник пакетов.
                      1. Алексей 25 апреля 2013, 11:40 # 0
                        можно также провести apt чтобы он свежий munin загрузил?
                        1. Василий Наумкин 25 апреля 2013, 11:44 # 0
                          Не пользуюсь, так что это лучше у гугла спросить.
                    2. Алексей 24 апреля 2013, 06:37 # 0
                      пошустрей стало все грузить. спасибо сансэй!
                  2. Алексей 01 мая 2013, 19:58 # 0
                    после обновления в логах появились всякие ошибки:
                    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525+lfs/suhosin.so' - /usr/lib/php5/20100525+lfs/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0
                    не дает поставить suhosin
                    root@li190-163:~# apt-get install php5-suhosin
                    Reading package lists... Done
                    Building dependency tree
                    Reading state information... Done
                    Some packages could not be installed. This may mean that you have
                    requested an impossible situation or if you are using the unstable
                    distribution that some required packages have not yet been created
                    or been moved out of Incoming.
                    The following information may help to resolve the situation:
                    
                    The following packages have unmet dependencies:
                     php5-suhosin : Depends: phpapi-20090626+lfs
                    E: Unable to correct problems, you have held broken packages.
                    
                    1. СикретНаме 22 мая 2013, 13:20 # 0
                      Очень страшно, :0) Но пора пробовать!
                      1. СикретНаме 22 мая 2013, 13:41 # 0
                        Василий, он меня о, как, выматерил:
                        Configuration file `/etc/nginx/sites-available/default'
                        ==> Deleted (by you or by a script) since installation.
                        ==> Package distributor has shipped an updated version.
                        What would you like to do about it? Your options are:
                        Y or I: install the package maintainer's version
                        N or O: keep your currently-installed version
                        D: show the differences between the versions
                        Z: start a shell to examine the situation
                        The default action is to keep your current version.
                        *** default (Y/I/N/O/D/Z) [default=N]?

                        Что жмакать правильно и почему?
                        1. Василий Наумкин 22 мая 2013, 13:45 # 0
                          При обновлении будут вопросы, мол, сохранять ли старые конфиги? Да, сохранять.

                          Или тебе надо перевести, что там написано?
                          1. СикретНаме 22 мая 2013, 13:49 # 0
                            «да, сохранять» — балин… Слона то я и не заметил :0)
                            Не, спасибо, не надо, гугла подсобила.
                            А почему сохранять, для страховки чисто или что-то ещё?
                            1. СикретНаме 22 мая 2013, 13:52 # 0
                              Тьфу, блин, на автомате нажал Y :0)))
                              1. Василий Наумкин 22 мая 2013, 14:03 # 0
                                Конечно, для страховки.

                                Php 5.4, например, меняет уровень вывода ошибок и у тебя могут посыпаться E_NOTICE после замены конфига.
                                1. СикретНаме 22 мая 2013, 14:08 # 0
                                  Понял. Сенкс. Кстати, я заремувил репозитарий — sudo add-apt-repository --remove ppa:ondrej/php5, накатил снова и оно не стало давать выбор установки, как бы всё стоит, хотя php -v старый остался. Скушалось через твоё sudo apt-get dist-upgrade -y, т.к. просто upgrade не давал выбор. Как думаешь, норм так? php -v обновился, я посмотрел.
                          Добавление новых комментариев отключено.