The OpenNET Project / Index page

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

Опыт настройки связки PostgreSQL и 1С в Oracle Linux
Потребовалось сделать сервер 1С для чего была выбрана связка OracleLinux 6.1 +
1C82 (8.2.14.519) + Postgres 9.0.4.

Собрал следующее железо для тестов:

   MB: Asus P5
   CPU : Intel(R) Pentium(R) D CPU 3.20GHz 2 ядра
   MEM : 8G
   HDD : 1x160G 7200 (старый нового не нашлось)

hdparm -Tt /dev/sda
/dev/sda:
 Timing cached reads:   2670 MB in  2.00 seconds = 1335.62 MB/sec
 Timing buffered disk reads:  220 MB in  3.00 seconds =  73.30 MB/sec

При установке выделил под SWAP 10G, остальное под корень, получилось что-то вроде:

   /dev/sda1   *           1       18152   145803264   83  Linux
   /dev/sda2           18152       19458    10484736   82  Linux своп / Solaris

ставил все без LVM, разбивка руками. Выбрал минимальную установку

Прицепил RPM-репозитории:

   cd /etc/yum.repos.d
   touch public-yum-ol6.repo

добавил в файл public-yum-ol6.repo:

   [ol6_ga_base]
   name=Oracle Linux 6 GA - $basearch - base
   baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/0/base/$basearch/
   gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
   gpgcheck=1
   enabled=1

   [ol6_u1_base]
   name=Oracle Linux 6 U1 - $basearch - base
   baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/1/base/$basearch/
   gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
   gpgcheck=1
   enabled=1

затем все как обычно

   yum update

итак что видим ....
если верить описанию система очень быстрая, некоторые прогнозируют прирост аж 110 процентов.
смотрим что есть по дефолту

cat /etc/sysctl.conf

   # Kernel sysctl configuration file for Red Hat Linux
   # Controls IP packet forwarding
   net.ipv4.ip_forward = 0

   # Controls source route verification
   net.ipv4.conf.default.rp_filter = 1

   # Do not accept source routing
   net.ipv4.conf.default.accept_source_route = 0

   # Controls the System Request debugging functionality of the kernel
   kernel.sysrq = 0

   # Controls whether core dumps will append the PID to the core filename.
   # Useful for debugging multi-threaded applications.
   kernel.core_uses_pid = 1

   # Controls the use of TCP syncookies
   net.ipv4.tcp_syncookies = 1

   # Disable netfilter on bridges.
   net.bridge.bridge-nf-call-ip6tables = 0
   net.bridge.bridge-nf-call-iptables = 0
   net.bridge.bridge-nf-call-arptables = 0

   # Controls the maximum size of a message, in bytes
   kernel.msgmnb = 65536

   # Controls the default maxmimum size of a mesage queue
   kernel.msgmax = 65536

   # Controls the maximum shared segment size, in bytes
   kernel.shmmax = 68719476736

   # Controls the maximum number of shared memory segments, in pages
   kernel.shmall = 4294967296
   vm.overcommit_memory=2

неплохо
добавим на всякий случай

   kernel.panic=5
   kernel.panic_on_oops=5
   kernel.panic_on_io_nmi=5
   kernel.panic_on_unrecovered_nmi=5

отключим все ненужное .... взламывать сервер некому, он будет сугубо локальным.

   chkconfig ip6tables off
   chkconfig iptables off
   chkconfig netfs off
   chkconfig postfix off
   chkconfig saslauthd off

затем отключим SELinux, так как с ним не работает 1C.

vi /etc/selinux/config

   SELINUX=disabled

и reboot

Приступим к настройке 1C и PostgreSQL. Прочитал  статью
http://www.alsigned.ru/?p=1129 про установку 1С 8.2 в связке с Postgresql 9.0.
Сделал все как в статье, единственно подменил в конфигурации PostgreSQL 9.0.4 и
патчи взял для версии 9.0.3 (http://v8.1c.ru/overview/postgres_patches_notes.htm).

Краткое изложение процесса:

Загружаем необходимые пакеты:
   yum install rpm-build gcc make glibc-devel bison flex python-devel tcl-devel readline-devel \
      zlib-devel openssl-devel  krb5-devel  e2fsprogs-devel gettext pam-devel openldap-devel icu libicu libicu-devel

Патчим PostgreSQL
   wget http://v8.1c.ru/overview/postgresql_patches/9-0-4/postgresql-9.0.4-1.1C.src.rpm
   rpm -i postgresql-9.0.4-1.1C.src.rpm

В файле /usr/lib/rpm/macros в параметре %_default_patch_fuzz заменяем 0 на 2.
В файле /root/rpmbuild/SOURCES/postgresql.init прописываем:

   PGENGINE=/usr/pgsql/bin
   PGDATA=/var/lib/pgsql/data
   PGLOG=/var/lib/pgsql/pgstartup.log

В spec-файле /root/rpmbuild/SPECS/postgresql-9.0-4C.spec меняем  postgresql-9.0
на postgresql, получится примерно так:

   525 chkconfig --add postgresql
   530 sbin/service postgresql condstop >/dev/null 2>&1
   531 chkconfig --del postgresql
   537 /sbin/service postgresql condrestart >/dev/null 2>&1

Собираем пакет с пропатченным PostgreSQL:
    rpmbuild -ba --define 'runselftest 0' /root/rpmbuild/SPECS/postgresql-9.0-4C.spec

Устанавливаем пакет:
   rpm -i /root/rpmbuild/RPMS/x86_64/*.rpm

Инициализируем БД:

    su postgres
   /usr/pgsql/bin/initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8

Запускаем postgresql:

   service postgresql start

Устанавливаем 1С:


Указываем имя хоста в /etc/hosts (имя должно совпадать с именем HOSTNAME,
указанным в файле /etc/sysconfig/network):

127.0.0.1       localhost 1csrv 1csrv.mydomain.local
192.168.1.1     1csrv 1csrv.mydomain.local


Устанавливаем пакеты с 1С:

   rpm -i 1C_Enterprise82-common-8.2.13-205.x86_64.rpm 1C_Enterprise82-server-8.2.13-205.x86_64.rpm \
      1C_Enterprise82-ws-8.2.13-205.x86_64.rpm 1C_Enterprise82-common-nls-8.2.13-205.x86_64.rpm \
      1C_Enterprise82-server-nls-8.2.13-205.x86_64.rpm 1C_Enterprise82-ws-nls-8.2.13-205.x86_64.rpm 

далее активируем сервисы 1c и postgresql:

   chkconfig srv1cv82 on
   chkconfig postgresql on

В .bash_profile правим "PGDATA=/var/lib/pgsql9/data" на "PGDATA=/var/lib/pgsql/data".

Далее запустил 1С-клиента, создал базу TEST и запустил тест Гилева (gilev.ru)
...ждал минут 20 !!!! набрал 9.1 !!! балов явно мало для комфортной работы.
Гилев рекомендует включить блокировки вручную .... что и делаем через конфигуратор
снова тест ..... уже 14 баллов.

Пробуем  оптимизировать postgresql.conf:

   shared_buffers = 1024MB                 # min 128kB
   work_mem = 400MB                                # min 64kB
   maintenance_work_mem = 2048MB           # min 1MB
   fsync = off                             # turns forced   synchronization on or off
   wal_sync_method = fdatasync             # the default is the first option
   commit_delay = 50                       # range 0-100000, in microseconds
   commit_siblings = 7                     # range 1-1000
   cpu_tuple_cost = 0.001                  # same scale as above
   cpu_index_tuple_cost = 0.0005           # same scale as above
   effective_cache_size = 4096MB

далее

   /etc/init.d/postgresql restart
   /etc/init.d/srv1cv82 restart

Следующее тестирование показало 20.4 баллов.... неплохой результат.
Поставил две конфигурации кадрыКОРП  + бухгалтерияКОПРП. В конфигураторе сменил
блокировки на управляемый режим блокировок.

Написал скрипт для чистки логов и бекапа БД и поместил его в cron:

   #!/bin/bash

   set +x

   /bin/rm -rf /backups/1c/*.log
   /bin/touch /backups/1c/1c8_bkp.log

   BKPDIR=/backups/1c

   TIME=`date +%d-%m-%Y_%H:%M:%S`  # год,месяц,день,часы,минуты
   DATE_ARC=`date +%d%m%Y`

   LOG=/backups/1c/1c8_bkp.log

   dl() {
     $* >> $LOG 2>&1
   }

   dl echo $TIME
   
   dl /etc/init.d/srv1cv82 stop
   dl /bin/sleep 10


   /bin/find /backups/1c -type f -mtime +1 -print | /usr/bin/xargs  /bin/rm -f
   /bin/find /var/lib/pgsql/data/pg_log/ -type f -mtime +1 -print |  /usr/bin/xargs /bin/rm -f

   /usr/pgsql/bin/pg_dump -U postgres -Fc -Z9 -c -f /backups/1c/buh.$DATE_ARC.sql buh
   /usr/pgsql/bin/pg_dump -U postgres -Fc -Z9 -c -f /backups/1c/hrm.$DATE_ARC.sql hrm
   /usr/pgsql/bin/pg_dump -U postgres -Fc -Z9 -c -f /backups/1c/test.$DATE_ARC.sql test

   dl echo $TIME
   dl /etc/init.d/srv1cv82 start

Вот пожалуй и все
 
06.09.2011 , Автор: alexpn , Источник: http://www.alsigned.ru/?p=1129...
Ключи: oracle, linux, postgresql, 1c
Раздел:    Корень / Администратору / Система / Установка и синхронизация времени

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Дмитрий (??), 14:27, 06/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    только один вопрос?
    - Почему OracleLinux???
     
  • 1.2, m0ps (ok), 14:33, 06/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ага, мне тоже интересно... судя по статье - он не лицензирован, тогда смысл в нем? апдейты ставить нельзя...
     
     
  • 2.11, gen1us (?), 12:47, 07/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    он бесплатный. апдейты ставятся
     
     
  • 3.12, m0ps (ok), 12:58, 07/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > он бесплатный. апдейты ставятся

    да, он бесплатный, только вот апдейты стоят денег

     

  • 1.3, Гость (?), 15:16, 06/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да это всё приминимо к любому клону шапки, на CentOS или Fedora отличаться не будит.
     
  • 1.4, Zl0 (ok), 15:21, 06/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Автор видимо голословно поверил, но все таки решил проверить.
    >если верить описанию система очень быстрая, некоторые прогнозируют прирост аж 110 процентов.
     
  • 1.5, alexpn (ok), 16:36, 06/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень доволен OracleLinux
    Сделан неплохо но одно огорчает мало пакетов и иногда что нужно приходится собирать руками !!!
     
  • 1.6, Stax (ok), 17:48, 06/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > vi /etc/selinux/config
    >   SELINUX=disabled

    На этом закончил читать. Руки за это надо отрывать, что в 2011 году кто-то так с selinux поступает.

    1С что, системный демон чтобы быть ограниченным selinux? Наверняка там все дело в паре алертов, косвенно связанных с базой или чем-то подобным, выключаемых установкой одного seboolean'а.

    Да и утверждение, что мол нелицензионный oracle linux обеспечивает прирост быстродействия 110% и тд.. Замечательный аргумент, чтобы лишаться обновлений и т.д.. Нет чтобы поставить SL или что-то подобное, где все работает..

     
     
  • 2.9, Алексей (??), 03:07, 07/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> vi /etc/selinux/config
    >>   SELINUX=disabled
    > На этом закончил читать. Руки за это надо отрывать, что в 2011
    > году кто-то так с selinux поступает.
    > 1С что, системный демон чтобы быть ограниченным selinux? Наверняка там все дело
    > в паре алертов, косвенно связанных с базой или чем-то подобным, выключаемых
    > установкой одного seboolean'а.
    > Да и утверждение, что мол нелицензионный oracle linux обеспечивает прирост быстродействия
    > 110% и тд.. Замечательный аргумент, чтобы лишаться обновлений и т.д.. Нет
    > чтобы поставить SL или что-то подобное, где все работает..

    Может быть но для теста SEL не нужен

     
  • 2.13, AntiStax (?), 15:20, 07/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > vi /etc/selinux/config
    >   SELINUX=disabled

    На этом закончил читать. Руки за это надо отрывать, что в 2011 году кто-то так с selinux поступает.

    Руки надо отрывать за такие посты. Если в безопасности на конкретном сервере нет необходимости, зачем держать то что тебе не нужно ?

     
     
  • 3.19, crypt (??), 02:35, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    На сервере в безопасности необходима в первую очередь. Так что с selinux статья выглядела бы действительно пристойно.
     
  • 2.55, Аноним (-), 02:14, 13/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Руки за это надо отрывать, что в 2011 году кто-то так с selinux поступает.

    Толку то с вашего selinux. Гемора создает много, а в случае дыр в ядре - выносится первым же сплойтом первым делом. А без дыр как-то и без него неплохо, знаете ли. В общем хрень нужная только потому что у некоторых бюрократов по уставу положено MAC и все тут. Вынь да полож, или всякие АНБ и прочие квадратноголовые просто не пустят это к себе в системы. У них же регламент доступа к информации, типа.

     

  • 1.7, Аноним (-), 21:48, 06/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > fsync = off

    Ну теперь то Вашим данным точно каюк.

     
     
  • 2.8, Алексей (??), 03:06, 07/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это тест !!! И данные не критичны
     
     
  • 3.10, alexpn (ok), 03:11, 07/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Это тест !!! И данные не критичны

    http://gilev.ru/1c/tpc/tpc82.rar
    Вот сам тест
    берем файлик tpc82.dt

     
  • 3.36, arcade (ok), 12:38, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это слив, без fsync такого прироста производительности не будет.
     

  • 1.14, Forth (??), 15:44, 07/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Старые конфигурации с табличными блокировками портят кровь.:/ Сейчас используем Postgres 8.4 на CentOS 5.6. Размер кластера почти 500gb.
    В целом довольны. Программеры обещают переписать блокировки.
    Интереса ради запустил этот тест tpc82, показало 20 с копейками.
     
     
  • 2.17, admin (??), 18:46, 07/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Размер кластера почти 500gb.

    интересно.
    а подскажите пожалуйста, у нас сервер приложений и сервер БД на разных машинах, так вот на сервере выделенном под БД используется только один процессор, точнее одно ядро! Вы с такой проблемой не сталкивались? куда копать?

     
     
  • 3.26, NSForth (ok), 10:23, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Размер кластера почти 500gb.
    > интересно.
    > а подскажите пожалуйста, у нас сервер приложений и сервер БД на разных
    > машинах, так вот на сервере выделенном под БД используется только один
    > процессор, точнее одно ядро! Вы с такой проблемой не сталкивались? куда
    > копать?

    В смысле? По описанию похоже на то, что просто PostgreSQL на одно соединение больше одного процессора не использует. Так это нормально, архитектура такая. Делайте больше рабочих процессов на сервере приложений, убедитесь, что 1С открывает несколько соединений, под нагрузкой вполне себе будет использовать все.

     
     
  • 4.30, admin (??), 11:16, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Делайте больше рабочих процессов на сервере приложений, убедитесь, что 1С открывает
    > несколько соединений, под нагрузкой вполне себе будет использовать все.

    прошу прощения, я ещё не успел ознакомится с документацией, если не сложно напишите как это сделать?

     
     
  • 5.33, NSForth (ok), 11:29, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Делайте больше рабочих процессов на сервере приложений, убедитесь, что 1С открывает
    >> несколько соединений, под нагрузкой вполне себе будет использовать все.
    > прошу прощения, я ещё не успел ознакомится с документацией, если не сложно
    > напишите как это сделать?

    В консоли кластера 1С, надо создать еще рабочих процессов. Но если клиентов мало, то не надо, будет бестолку. Да и исходных данных нет, сколько клиентов, как работают, какая конфигурация, размер базы и характеристики сервера.
    Скорее всего нагрузки нет, чтобы все ядра загрузить.

     
     
  • 6.37, admin (??), 15:48, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > В консоли кластера 1С, надо создать еще рабочих процессов. Но если клиентов
    > мало, то не надо, будет бестолку. Да и исходных данных нет,
    > сколько клиентов, как работают, какая конфигурация, размер базы и характеристики сервера.
    > Скорее всего нагрузки нет, чтобы все ядра загрузить.

    выяснил по подробней. в общем проблема проявляется при закрытии месяца. т.е. клиент один и увеличение кол-ва рабочих процессов не помогает.
    Конфигурационный файл: по умолчанию, пробовали изменять множество настроек. Размер БД: 25Гб, Железо 2 x Intel(R) Xeon(R) CPU E5520, 2.27GHz (16 cores), 2 HDD x 500 Gb (RAID1).

     
     
  • 7.38, NSForth (ok), 15:56, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > выяснил по подробней. в общем проблема проявляется при закрытии месяца. т.е. клиент
    > один и увеличение кол-ва рабочих процессов не помогает.
    > Конфигурационный файл: по умолчанию, пробовали изменять множество настроек. Размер БД:
    > 25Гб, Железо 2 x Intel(R) Xeon(R) CPU E5520, 2.27GHz (16 cores),
    > 2 HDD x 500 Gb (RAID1).

    Базка-то махонькая. Видимо то самое закрытие месяца неудачный для постгреса запрос. Неоптимальный, скажем так. Найдите кого-нибудь, кто посмотрит что именно делается и во что уперлись, в процессор, или в диски, например. Похоже на мутный и долгий запрос, с кучей вложенных.

     
     
  • 8.39, admin (??), 16:08, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    смотрели уже в диски вообще не упираемся смотрел vmstat top iowait , а проц юз... текст свёрнут, показать
     
     
  • 9.40, NSForth (ok), 16:22, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну похоже запрос длинный Он вообще завершается за разумное время Включите log_... текст свёрнут, показать
     
     
  • 10.41, admin (??), 16:30, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    странно, я думал у всех такая проблема, но раз вы так говорите, то стоит посмотр... текст свёрнут, показать
     
     
  • 11.42, NSForth (ok), 16:40, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Еще как нужно Мы когда переходили с MS SQL на Postgres первое время в планы вып... текст свёрнут, показать
     

  • 1.15, Forth (??), 15:46, 07/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати, те кто данную статью прочтут - не делайте fsync = off, если не уверены на 100% что понимаете что это.
    Да и вообще не правьте конфиги в точности как автор.:)
     
     
  • 2.21, alexpn (ok), 07:31, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати, те кто данную статью прочтут - не делайте fsync = off,
    > если не уверены на 100% что понимаете что это.
    > Да и вообще не правьте конфиги в точности как автор.:)

    Проверил все планировщики

    open_datasync 21.75
    fdatasync 21.65
    fsync 21.28
    fsync_writethrough не запустился
    open_sync 21.37

    оставил open_datasync
    по поводу fsync = off говорю же это просто тест !!!!
    Сейчас дождусь аппаратного райда и fsync = off будет включена по дефолту
    сейчас у меня 4 базы дампы где то по 300M полет пока нормальный

     
     
  • 3.24, NSForth (ok), 10:21, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > оставил open_datasync
    > по поводу fsync = off говорю же это просто тест !!!!
    > Сейчас дождусь аппаратного райда и fsync = off будет включена по дефолту

    Тест с fsync = off бесполезен. И разница между fsync = off и fsync = on но рейде с батарейкой есть и ощутимая.

    > сейчас у меня 4 базы дампы где то по 300M полет пока
    > нормальный

    Будет и дальше нормальный. На значительно больших размерах тоже можно работать. Если программисты, рисовавшие конфигурацию, не очень криворукие.

     
     
  • 4.27, alexpn (ok), 10:24, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Будет и дальше нормальный. На значительно больших размерах тоже можно работать. Если
    > программисты, рисовавшие конфигурацию, не очень криворукие.

    конфигурации все стандартные сам ничего не пишу .... т.к. нет в этом необходимости

     
     
  • 5.29, NSForth (ok), 10:35, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Будет и дальше нормальный. На значительно больших размерах тоже можно работать. Если
    >> программисты, рисовавшие конфигурацию, не очень криворукие.
    > конфигурации все стандартные сам ничего не пишу .... т.к. нет в этом
    > необходимости

    У нас грабли только табличными блокировками и с запросами с типовых конфигураций. Некоторые отчеты активно используют вложенные запросы, на больших объемах начинаются веселухи, навроде 3 дня выполнения отчета.

     
  • 3.25, alexpn (ok), 10:21, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Перешел на платформу 8.2.14.533 и поставил
    wal_sync_method = open_sync
    Набрал 20.92 !!!
    :)
    У кого есть доступ на сервер 1С ???? может документацию ктонить скачает и рекомендации по настройке сервера postgres там есть статьи но доступа нет у меня
     

  • 1.16, chemtech (ok), 15:55, 07/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Хотел бы уточнить на счет теста Гилева:
    - какие экстремумы (максимум, минимум) в баллах получают при тестировании примерно на таком железе?
    - сколько баллов получает 1С примерно на такой же конфигурацией с использованием MSSQL?
     
     
  • 2.22, alexpn (ok), 07:34, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Хотел бы уточнить на счет теста Гилева:
    >  - какие экстремумы (максимум, минимум) в баллах получают при тестировании примерно
    > на таком железе?
    >  - сколько баллов получает 1С примерно на такой же конфигурацией с
    > использованием MSSQL?

    К сожалению тест под MSSQL не проводился также как и под Oracle и DB2
    Но у кого есть тесты положите плиз будет интересно

     
     
  • 3.23, alexpn (ok), 07:38, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    также интересны тесты с другими файловыми системами Btrfs например или ext3. у меня MySQL на Btrfs крутится пока нет проблем
     

  • 1.18, neumeika (ok), 22:38, 07/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    по нашим тестам тюненная постре медленне МСсиквела 2005 в "гилёвотесте" на 20%, не тюненная 10%, а файловая минимум в 4 раза быстрее, чем постгресина тюненная. Что удивительно, если тесты проводить в виртуалке, то результаты ваще не однозачные, ибо по результатам, постгре в линупсе (центос отsysctlенный, постре тож тюненный) не дотягивает до своего собрата на винде, тесты проводились и на РАМ диске.
     
     
  • 2.20, Аноним (-), 02:40, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > по нашим тестам тюненная постре медленне МСсиквела 2005 в "гилёвотесте" на 20%, не тюненная 10%

    Продолжайте и дальше тюнить в том же духе. )) Виртуалка поди M$овская?)

     
  • 2.28, NSForth (ok), 10:25, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > по нашим тестам тюненная постре медленне МСсиквела 2005 в "гилёвотесте" на 20%,
    > не тюненная 10%, а файловая минимум в 4 раза быстрее, чем
    > постгресина тюненная. Что удивительно, если тесты проводить в виртуалке, то результаты
    > ваще не однозачные, ибо по результатам, постгре в линупсе (центос отsysctlенный,
    > постре тож тюненный) не дотягивает до своего собрата на винде, тесты
    > проводились и на РАМ диске.

    А pgbench что показывает? Там по крайней мере понятно что делается. В тесте гилева только "попугаи" на выходе. Надо смотреть внутрь, отчего так.

     
     
  • 3.31, alexpn (ok), 11:20, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вот что нашел на
    http://www.westnet.com/~gsmith/content/postgresql/pgbench.htm

    #!/bin/sh
    DB=alex
    tottrans=10000
    c=1
    t='expr $tottrans / $c'
    echo Cleaning up database $DB
    psql -c 'truncate table history' $DB
    psql -c 'vacuum' $DB
    psql -c 'vacuum full' $DB
    psql -c 'vacuum analyze' $DB
    psql -c 'checkpoint' $DB
    echo $t transactions for each of $c concurrent users... 1>&2
    /usr/pgsql/bin/pgbench -l -N -n -t $t -c $c $DB &
    p=$!
    wait $p
    mv pgbench_log.${p} pgbench.log
    cat pgbench.log | cut -f 3 -d " " | sort -n | tail

    зашел как
    su - postgres
    запустил
    вот результат

    Cleaning up database alex
    ERROR:  relation "history" does not exist
    VACUUM
    VACUUM
    VACUUM
    CHECKPOINT
    10000 transactions for each of 1 concurrent users...
    transaction type: Update only pgbench_accounts
    scaling factor: 1
    query mode: simple
    number of clients: 1
    number of threads: 1
    number of transactions per client: 10000
    number of transactions actually processed: 10000/10000
    tps = 1708.830347 (including connections establishing)
    tps = 1709.843054 (excluding connections establishing)
    1039
    1044
    1092
    1363
    1477
    1725
    3119
    3593
    4846
    11795

    при с=10

    Cleaning up database alex
    ERROR:  relation "history" does not exist
    VACUUM
    VACUUM
    VACUUM
    CHECKPOINT
    1000 transactions for each of 10 concurrent users...
    transaction type: Update only pgbench_accounts
    scaling factor: 1
    query mode: simple
    number of clients: 10
    number of threads: 1
    number of transactions per client: 1000
    number of transactions actually processed: 10000/10000
    tps = 2419.187642 (including connections establishing)
    tps = 2439.170740 (excluding connections establishing)
    17329
    17489
    17886
    17899
    17913
    17953
    18222
    18224
    24267
    26417

     
     
  • 4.32, NSForth (ok), 11:26, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот что нашел на
    > http://www.westnet.com/~gsmith/content/postgresql/pgbench.htm

    Это с fsync = off я так понимаю?


     
     
  • 5.34, alexpn (ok), 11:34, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Вот что нашел на
    >> http://www.westnet.com/~gsmith/content/postgresql/pgbench.htm
    > Это с fsync = off я так понимаю?

    Да
    вот еще

    -bash-4.1$ /usr/pgsql/bin/pgbench -c 10 -t 3000 alex
    starting vacuum...end.
    transaction type: TPC-B (sort of)
    scaling factor: 1
    query mode: simple
    number of clients: 10
    number of threads: 1
    number of transactions per client: 3000
    number of transactions actually processed: 30000/30000
    tps = 1014.325899 (including connections establishing)
    tps = 1015.464440 (excluding connections establishing)

    -bash-4.1$ /usr/pgsql/bin/pgbench -c 50 -t 3000 alex
    starting vacuum...end.
    transaction type: TPC-B (sort of)
    scaling factor: 1
    query mode: simple
    number of clients: 50
    number of threads: 1
    number of transactions per client: 3000
    number of transactions actually processed: 150000/150000
    tps = 954.714991 (including connections establishing)
    tps = 955.709272 (excluding connections establishing)

     
     
  • 6.35, NSForth (ok), 11:47, 08/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Вот что нашел на
    >>> http://www.westnet.com/~gsmith/content/postgresql/pgbench.htm
    >> Это с fsync = off я так понимаю?
    > Да
    > вот еще

    Это бесполезный бенч. На живой базе с fsync = off вы же работать не будете.


     
     
  • 7.43, alexpn (ok), 04:05, 09/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Это бесполезный бенч. На живой базе с fsync = off вы же
    > работать не будете.

    буду .... купил райд + винты сейчас все цепляю и буду тестировать

     
     
  • 8.50, NSForth (ok), 12:15, 09/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вы уверены, что понимаете, что делает fsync off ... текст свёрнут, показать
     
  • 7.44, alexpn (ok), 04:21, 09/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    как получить 35 баллов ???? кто райды использует например  5-й или 10-й ????
     
  • 7.45, alexpn (ok), 05:38, 09/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    с fsync on usr pgsql bin pgbench -i alex NOTICE table pgbench_branches do... большой текст свёрнут, показать
     
     
  • 8.46, alexpn (ok), 08:20, 09/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    вопрос кто юзает PostgreSQL Etersoft какие впечатления и если можно т... текст свёрнут, показать
     
     
  • 9.51, NSForth (ok), 12:16, 09/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошие впечатления Да это на самом деле просто уже готовая сборка, с парой фик... текст свёрнут, показать
     
  • 8.47, alexpn (ok), 08:48, 09/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    перенес каталоги pg_clog , pg_xlog, pg_log на другой диск создал на них символич... текст свёрнут, показать
     
     
  • 9.48, eee (??), 10:49, 09/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы в лог не валилось много ошибок типа WARNING nonstandard use of in a s... текст свёрнут, показать
     
  • 8.49, alexpn (ok), 11:31, 09/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ну вот собрал RAID 10 4 винта по 250 WD2503ABYX RAID FastTrak TX4310 -bash-4 1 ... текст свёрнут, показать
     
     
  • 9.52, NSForth (ok), 12:20, 09/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Первая же дурная операция проведения, вешающая табличные блокировки, или неоптим... текст свёрнут, показать
     

  • 1.53, Сергей (??), 19:58, 09/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Для любителей отключать fsync на сервере(таких как alexpn) приведу выдержку из доков:

        If this parameter is on, the PostgreSQL server will try to make sure that updates are physically written to disk, by issuing fsync() system calls or various equivalent methods (see wal_sync_method). This ensures that the database cluster can recover to a consistent state after an operating system or hardware crash.

        While turning off fsync is often a performance benefit, this can result in unrecoverable data corruption in the event of a power failure or system crash. Thus it is only advisable to turn off fsync if you can easily recreate your entire database from external data.

    Короче говоря, независимо от того raid у вас или нет и с батарейкой он или нет, то если данные вам дОроги, отключать fsync нельзя

     
     
  • 2.54, alexpn (ok), 03:48, 12/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    для всех последних тестов со стоки fsync = ON Этот праметр НЕ ОТКЛЮЧАЛСЯ !!!!!

    ЦИТИРУЮ !!!!
    Сообщение от alexpn (ok) on 09-Сен-11, 05:38
    с fsync = on

    а то что програмеры в 1С заточены только под маздай дак это их проблема !!!!
    в тесте с рейдом

    synchronous_commit = on
    fsync = on
    единственное что сделано это весь /var перенесен на райд !
    pg_log И прочие каталоги также остались на дополнительном диске !!!

     

  • 1.57, Zur (?), 11:38, 27/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вопрос к автору: ссылка после "Патчим PostgreSQL" - "wget http://v8.1c.ru/overview/postgresql_patches/9-0-4/postgresql-9.0.4-1.1C.src.r - нерабочая. Откуда образовался postgresql-9.0.4-1.1C.src.rpm, поподробней можно, плиз?
     
     
  • 2.58, alexpn (ok), 05:46, 29/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Вопрос к автору: ссылка после "Патчим PostgreSQL" - "wget http://v8.1c.ru/overview/postgresql_patches/9-0-4/postgresql-9.0.4-1.1C.src.r
    > - нерабочая. Откуда образовался postgresql-9.0.4-1.1C.src.rpm, поподробней можно, плиз?

    Все просто !!!! качаем
    http://v8.1c.ru/overview/postgresql_patches/9-0-3/postgresql-9.0.3-3.1C.src.r
    затем качаем
    http://wwwmaster.postgresql.org/download/mirrors-ftp/source/v9.0.4/postgresql
    устанавливаем
    rpm -Uvh postgresql-9.0.3-3.1C.src.rpm

    правим файлик
    /root/rpmbuild/SPECS/postgresql-9.0-1C.spec
    заменяем все на версию 9.0.4
    строка 77
    Version: 9.0.4
    просто в прикол меняем строку 78
    Release: 4.2C
    правим остальные файлики как тут
    http://www.alsigned.ru/?p=1129
    не забываем про мягкие ссылки на библиотеки icu

    копируем или переносим postgresql-9.0.4.tar.bz2 в
    /root/rpmbuild/SOURCES

    далее собираем
    rpmbuild -ba --define 'runselftest 0' /root/rpmbuild/SPECS/postgresql-9.0-1C.spec
    если все без ошибок
    смотрим
    ll /root/rpmbuild/RPMS/x86_64/

    или еще вариант ждем пока появится новый релиз скажем 9.0.5
    вот тут
    http://v8.1c.ru/overview/postgres_patches_notes.htm
    либо юзаем готовый
    http://v8.1c.ru/overview/postgresql_patches/9-0-3/postgresql-9.0.3-3.1C.src.r

    Извиняюсь за опечатки в статье

     
     
  • 3.59, alexpn (ok), 08:07, 29/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    собрал с 9.0.5
    единственное поправил ссылки
    ln -s /usr/lib64/libicudata.so.42.1 /usr/local/lib64/libicudata.so.46
    ln -s /usr/lib64/libicui18n.so.42.1 /usr/local/lib64/libicui18n.so.46
    ln -s /usr/lib64/libicuuc.so.42.1 /usr/local/lib64/libicuuc.so.46

    в настоящий момент тестирую .....

     


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




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

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