Ad Widget

Collapse

postgre база только растет

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Paradise_Cracked
    Junior Member
    • Mar 2010
    • 2

    #1

    postgre база только растет

    С месяц назад поставил zabbix на postgres. Сразу создал темплейт с историей хранения 7 дней для трендов и значений.
    Спустя месяц база продолжает увеличиваться, дошла до 17 гигов.

    Поменял в темплейте срок хранения до 1 дня. Перезапустил zabbix. Запустился Housekeeper удалил около 4х миллионов записей. Размер базы не уменьшился.

    autovacuum включен. пробовал запускать вручную vacuum analyze на таблицу и историей. база продолжает расти.

    Вдохновившись wiki.postgresql.org/wiki/VACUUM_FULL запустил cluster на таблицу history. Прошли сутки - процесс все еще идет.

    В чем я не прав?
  • costas
    Senior Member
    • Aug 2009
    • 201

    #2
    Originally posted by paradise_cracked
    С месяц назад поставил zabbix на postgres. Сразу создал темплейт с историей хранения 7 дней для трендов и значений.
    Спустя месяц база продолжает увеличиваться, дошла до 17 гигов.

    Поменял в темплейте срок хранения до 1 дня. Перезапустил zabbix. Запустился housekeeper удалил около 4х миллионов записей. Размер базы не уменьшился.

    Autovacuum включен. пробовал запускать вручную vacuum analyze на таблицу и историей. база продолжает расти.

    Вдохновившись wiki.postgresql.org/wiki/vacuum_full запустил cluster на таблицу history. Прошли сутки - процесс все еще идет.

    В чем я не прав?
    Таблиц хистори, если мне не изменяет память несколько, вроде по типу данных... В документации есть формулы примерного расчёта сколько будет занимать база в зависимости от кол-ва дней.
    CentOS-5.5 i386, Zabbix 1.8.4 (stable), MySQL 5.0.92, PHP 5.2.17 (cli)

    ...эта проверка бесполезная, вредная, и она зло.

    Comment

    • Paradise_Cracked
      Junior Member
      • Mar 2010
      • 2

      #3
      Их действительно несколько. Формулы расчета видел. Проблема в том что несмотря на срок хранения истории 1 день размер базы не уменьшается а только растет.

      Comment

      • costas
        Senior Member
        • Aug 2009
        • 201

        #4
        Originally posted by Paradise_Cracked
        Их действительно несколько. Формулы расчета видел. Проблема в том что несмотря на срок хранения истории 1 день размер базы не уменьшается а только растет.
        Проверил свою базу, не растёт, стоит на одной отметке, может дело в конфигах PostgreSQL?
        CentOS-5.5 i386, Zabbix 1.8.4 (stable), MySQL 5.0.92, PHP 5.2.17 (cli)

        ...эта проверка бесполезная, вредная, и она зло.

        Comment

        • sersad
          Senior Member
          • May 2009
          • 518

          #5
          Столкнулся с той же проблемой. База растет что очень не приятно. Итемов много но более 95% хранятся не более недели.
          В день набегает бывает и целый гиг. Автовакум включен хаускипер тоже.
          за две недели с 49 до 59 гиг.
          Code:
          Пользователи (подключены в данный момент): 31(3)
          Logged in as ss
          Zabbix server is запущен
          Узлы сети (пн/бн/ш): 527(452/6/69)
          Элементы данных (а/д/нп): 161 579(63 979/75 286/22 314)
          Триггеры (а/д)[п/н/о]: 10 261(9 729/532)[42/986/8 701]
          costas, поделитесь пожалуйста конфигом постгреса

          ЗЫ Ubuntu server, Zabbix1.8.4, Postgres 8.4, HP server: 10G Ram, 4CPU, 130G HDD RAID-5

          Comment

          • sersad
            Senior Member
            • May 2009
            • 518

            #6
            Подниму вопрос по растущей БД, все растет и растет помогает только vacuum full и reindex table но не надолго на месяц полтора

            Вот такая база
            Code:
                           name                |    oid     | size_mb |    count
            -----------------------------------+------------+---------+-------------
             history_uint                      | 2668306417 |   29723 | 4.08316e+08
             history_uint_1                    | 3507467082 |   12282 | 4.08316e+08
             trends_uint                       | 2668307045 |    2664 |  3.2522e+07
             history                           | 2668306363 |    2339 | 3.31871e+07
             history_1                         | 3508929563 |    1002 | 3.32414e+07
             trends_uint_pkey                  | 3509808144 |     978 |  3.2522e+07
             history_str                       | 2668306383 |     474 | 6.78998e+06
             history_str_1                     | 3509691252 |     245 | 6.78998e+06
             trends                            | 2668307036 |     131 | 1.60427e+06
             history_text                      | 2668306407 |      87 |  1.1166e+06
             items                             | 2668306650 |      65 |      111573
             events_1                          | 3359044463 |      52 |      718177
             events                            | 2668306259 |      52 |      718177
             trends_pkey                       | 3509885677 |      48 | 1.60427e+06
             housekeeper                       | 2668306574 |      35 |      499968
             history_text_1                    | 3509806719 |      33 |  1.1166e+06
             history_text_2                    | 3509806723 |      33 |  1.1166e+06
             auditlog                          | 2668306127 |      33 |      279695
             triggers                          | 2668307060 |      31 |      141439
             history_text_pkey                 | 3509806573 |      23 |  1.1166e+06
             events_2                          | 3359044464 |      18 |      718177
             events_pkey                       | 3359044462 |      17 |      718177
             items_3                           | 3509805737 |      14 |      112269
             items_1                           | 3509805736 |      12 |      112269
             housekeeper_pkey                  | 3217555371 |      11 |      499968
            Вот так растет БД и статистика по обращением к БД. В этом случае рост не так силен, как правило до гига в сутки бывает
            Attached Files
            Last edited by sersad; 10-05-2011, 21:27.

            Comment

            • sersad
              Senior Member
              • May 2009
              • 518

              #7
              конфиг postres 8.4
              Не столь важное закоменченое в дефаулте убрал чтобы не засорять
              Code:
              cat /etc/postgresql/8.4/main/postgresql.conf                                        
              # -----------------------------                                                                       
              # PostgreSQL configuration file                                                                       
              # -----------------------------                                                                       
              
              #------------------------------------------------------------------------------
              # CONNECTIONS AND AUTHENTICATION                                               
              #------------------------------------------------------------------------------
              
              # - Connection Settings -
              
              listen_addresses = 'localhost'          # what IP address(es) to listen on;
                                                      # comma-separated list of addresses;
                                                      # defaults to 'localhost', '*' = all
                                                      # (change requires restart)         
              port = 5432                             # (change requires restart)         
              max_connections = 200                   # (change requires restart)         
              
              #------------------------------------------------------------------------------
              # RESOURCE USAGE (except WAL)                                                  
              #------------------------------------------------------------------------------
              
              # - Memory -
              
              shared_buffers = 2560MB                 # min 128kB
                                                      # (change requires restart)
              temp_buffers = 256MB                    # min 800kB                
              max_prepared_transactions = 500         # zero disables the feature
                                                      # (change requires restart)
                        
              work_mem = 32MB                         # min 64kB                             
              maintenance_work_mem = 1024MB           # min 1MB                              
              #max_stack_depth = 2MB                  # min 100kB                            
              
              # - Kernel Resource Usage -
              
              #max_files_per_process = 1000           # min 25
                                                      # (change requires restart)
              #shared_preload_libraries = ''          # (change requires restart)
              
              # - Cost-Based Vacuum Delay -
              
              vacuum_cost_delay = 100ms               # 0-100 milliseconds
              vacuum_cost_page_hit = 1                # 0-10000 credits   
              vacuum_cost_page_miss = 10              # 0-10000 credits   
              vacuum_cost_page_dirty = 20             # 0-10000 credits   
              vacuum_cost_limit = 10000               # 1-10000 credits   
              
              # - Background Writer -
              
              #bgwriter_delay = 200ms                 # 10-10000ms between rounds
              #bgwriter_lru_maxpages = 100            # 0-1000 max buffers written/round
              #bgwriter_lru_multiplier = 2.0          # 0-10.0 multipler on buffers scanned/round
              
              # - Asynchronous Behavior -
              
              #effective_io_concurrency = 1           # 1-1000. 0 disables prefetching
              
              
              #------------------------------------------------------------------------------
              # WRITE AHEAD LOG                                                              
              #------------------------------------------------------------------------------
              
              # - Settings -
              
              fsync = on                              # turns forced synchronization on or off
              synchronous_commit = on         # immediate fsync at commit                     
              #wal_sync_method = fsync                # the default is the first option       
              wal_sync_method = open_sync                                                     
                                                      # supported by the operating system:    
                                                      #   open_datasync                       
                                                      #   fdatasync                           
                                                      #   fsync                               
                                                      #   fsync_writethrough                  
                                                      #   open_sync                           
              full_page_writes = off                  # recover from partial page writes      
              wal_buffers = 8MB                       # min 32kB                              
                                                      # (change requires restart)             
              #wal_writer_delay = 200ms               # 1-10000 milliseconds                  
              
              #commit_delay = 0                       # range 0-100000, in microseconds
              #commit_siblings = 5                    # range 1-1000                   
              
              # - Checkpoints -
              
              checkpoint_segments = 128               # in logfile segments, min 1, 16MB each
              checkpoint_timeout = 1h         # range 30s-1h                                 
              checkpoint_completion_target = 0.5      # checkpoint target duration, 0.0 - 1.0
              checkpoint_warning = 30s                # 0 disables                           
              
              # - Archiving -
              
              #archive_mode = off             # allows archiving to be done
                                              # (change requires restart)  
              #archive_command = ''           # command to use to archive a logfile segment
              #archive_timeout = 0            # force a logfile segment switch after this  
                                              # number of seconds; 0 disables              
              
              
              #------------------------------------------------------------------------------
              # QUERY TUNING                                                                 
              #------------------------------------------------------------------------------
              
              # - Planner Method Configuration -
              
              enable_bitmapscan = on
              enable_hashagg = on   
              enable_hashjoin = on  
              enable_indexscan = on 
              enable_mergejoin = on 
              enable_nestloop = on  
              enable_seqscan = on   
              enable_sort = on      
              enable_tidscan = on   
              
              # - Planner Cost Constants -
              
              seq_page_cost = 1.0                     # measured on an arbitrary scale
              random_page_cost = 4.0                  # same scale as above           
              cpu_tuple_cost = 0.0030                 # same scale as above           
              cpu_index_tuple_cost = 0.0010           # same scale as above           
              cpu_operator_cost = 0.0005              # same scale as above           
              effective_cache_size = 5120MB                                           
              
              # - Genetic Query Optimizer -
              
              geqo = on
              geqo_threshold = 12
              geqo_effort = 5                 # range 1-10
              geqo_pool_size = 0                      # selects default based on effort
              geqo_generations = 0                    # selects default based on effort
              geqo_selection_bias = 2.0               # range 1.5-2.0                  
              
              # - Other Planner Options -
              
              default_statistics_target = 1000        # range 1-10000
              constraint_exclusion = partition        # on, off, or partition
              cursor_tuple_fraction = 0.1             # range 0.0-1.0        
              from_collapse_limit = 8                                        
              join_collapse_limit = 8         # 1 disables collapsing of explicit 
                                                      # JOIN clauses              
              
              #------------------------------------------------------------------------------
              # RUNTIME STATISTICS                                                           
              #------------------------------------------------------------------------------
              
              # - Query/Index Statistics Collector -
              
              track_activities = on
              track_counts = on    
              track_functions = all                   # none, pl, all
              track_activity_query_size = 1024                       
              update_process_title = on                              
              stats_temp_directory = 'pg_stat_tmp'                   
              
              
              # - Statistics Monitoring -
              
              #log_parser_stats = off
              #log_planner_stats = off
              #log_executor_stats = off
              #log_statement_stats = off
              
              
              #------------------------------------------------------------------------------
              # AUTOVACUUM PARAMETERS                                                        
              #------------------------------------------------------------------------------
              
              autovacuum = on                 # Enable autovacuum subprocess?  'on' 
                                                      # requires track_counts to also be on.
              log_autovacuum_min_duration = 100       # -1 disables, 0 logs all actions and 
                                                      # their durations, > 0 logs only      
                                                      # actions running at least this number
                                                      # of milliseconds.                    
              autovacuum_max_workers = 10             # max number of autovacuum subprocesses
              autovacuum_naptime = 10min              # time between autovacuum runs         
              autovacuum_vacuum_threshold = 2 # min number of row updates before             
                                                      # vacuum                               
              autovacuum_analyze_threshold = 2        # min number of row updates before     
                                                      # analyze                              
              autovacuum_vacuum_scale_factor = 0.2    # fraction of table size before vacuum 
              autovacuum_analyze_scale_factor = 0.1   # fraction of table size before analyze
              #autovacuum_freeze_max_age = 200000000  # maximum XID age before forced vacuum 
                                                      # (change requires restart)            
              #autovacuum_vacuum_cost_delay = 20ms    # default vacuum cost delay for        
                                                      # autovacuum, in milliseconds;         
                                                      # -1 means use vacuum_cost_delay       
              #autovacuum_vacuum_cost_limit = -1      # default vacuum cost limit for        
                                                      # autovacuum, -1 means use             
                                                      # vacuum_cost_limit                    
              
              
              #------------------------------------------------------------------------------
              # CLIENT CONNECTION DEFAULTS                                                   
              #------------------------------------------------------------------------------
              
              # - Statement Behavior -
              
              #search_path = '"$user",public'         # schema names
              #default_tablespace = ''                # a tablespace name, '' uses the default
              #temp_tablespaces = ''                  # a list of tablespace names, '' uses   
                                                      # only default tablespace               
              #check_function_bodies = on                                                     
              #default_transaction_isolation = 'read committed'                               
              #default_transaction_read_only = off                                            
              #session_replication_role = 'origin'                                            
              #statement_timeout = 0                  # in milliseconds, 0 is disabled        
              #vacuum_freeze_min_age = 50000000                                               
              #vacuum_freeze_table_age = 150000000                                            
              #xmlbinary = 'base64'                                                           
              #xmloption = 'content'

              Comment

              • sersad
                Senior Member
                • May 2009
                • 518

                #8
                Все растет, сегодня по активнее.
                Неужели ни у кого нет мыслей почему так?
                Code:
                Параметр	Значение	Детали
                Zabbix сервер запущен	Да	localhost:10051
                Количество узлов сети (под наблюдением/без наблюдения/шаблоны)	528	453 / 6 / 69
                Количество элементов данных (активных/деактивированых/не поддерживаются)	90293	32235 / 47866 / 10192
                Количество триггеров (активированных/деактивированных)[проблема/неизвестно/ок]	10312	9769 / 543  [49 / 348 / 9372]
                Количество пользователей (подключенных в данный момент)	31	6
                Требуемое быстродействие сервера, новые значения в секунду	70.74	 -
                Уже и итемов осталось мало.

                Comment

                • sersad
                  Senior Member
                  • May 2009
                  • 518

                  #9
                  есть мысль попробовать мигрировать на MySQL для пробы, ни у кого нет мыслей как это сделать?

                  Comment

                  • dima_dm
                    Senior Member
                    • Dec 2009
                    • 2697

                    #10
                    Originally posted by sersad
                    есть мысль попробовать мигрировать на MySQL для пробы, ни у кого нет мыслей как это сделать?
                    pg2mysql converter (PostgreSQL to MySQL Converter)

                    Comment

                    • sersad
                      Senior Member
                      • May 2009
                      • 518

                      #11
                      Originally posted by dima_dm
                      pg2mysql converter (postgresql to mysql converter)
                      http://www.lightbox.ca/pg2mysql.php
                      Спасибо попробую))

                      Comment

                      • sersad
                        Senior Member
                        • May 2009
                        • 518

                        #12
                        Originally posted by dima_dm
                        pg2mysql converter (postgresql to mysql converter)
                        http://www.lightbox.ca/pg2mysql.php
                        Веб скрипту скормить 10 гиговый дамп БД это анрил.

                        Еще есть мысли?

                        Comment

                        • dima_dm
                          Senior Member
                          • Dec 2009
                          • 2697

                          #13
                          Там функция есть pg2mysql в pg2mysql.inc.php которую можно вызвать из php cli и не использовать web сервер.
                          Ну и платные конвертеры http://dbconvert.com/ru/convert-mysq...gresql-pro.php

                          Comment

                          • sersad
                            Senior Member
                            • May 2009
                            • 518

                            #14
                            Originally posted by dima_dm
                            Там функция есть pg2mysql в pg2mysql.inc.php которую можно вызвать из php cli и не использовать web сервер.
                            Ну и платные конвертеры http://dbconvert.com/ru/convert-mysq...gresql-pro.php
                            Была мысль, что этот файл для этого)))) хорошо почитаю доку как его вызвать ))

                            Comment

                            • sire
                              Senior Member
                              • Jul 2010
                              • 210

                              #15
                              Originally posted by dima_dm
                              pg2mysql converter (postgresql to mysql converter)
                              http://www.lightbox.ca/pg2mysql.php
                              И что, оно даже работает?
                              Regards,
                              Sergey Syreskin

                              Monitored hosts: 2646 / Active items: 23604 / Server performance: 765.74

                              Temporary out of Zabbix business

                              Comment

                              Working...