acho que nao deve ser a questao dos semaforos nao pq senao ele nem subia o 
banco.

voce poderia usar o pgpool para as conexoes
----- Original Message ----- 
From: "Aldrey Galindo" <[EMAIL PROTECTED]>
To: "Comunidade PostgreSQL Brasileira" <pgbr-geral@listas.postgresql.org.br>
Sent: Monday, June 09, 2008 10:06 AM
Subject: Re: [pgbr-geral]Fwd: servidor com 100% de uso de cpu/memória


Rafael,

   Veja a questão do número de processos que você está utilizando,
pode precisar mexer nos semáforos do sistema. Segue abaixo algumas
referências que já utilizei:

1- http://www.puschitz.com/TuningLinuxForOracle.shtml
2- http://www.dicas-l.com.br/dicas-l/20050921.php
3- 
http://www.midstorm.org/~fike/weblog/index.php/2007/04/01/3000-conexoes-simultaneas-no-postgresql-como-assim/
4- http://www.forumpcs.com.br/viewtopic.php?t=160637

Abraços,
Aldrey Galindo

2008/6/9 Rafael Bragatto Gratz <[EMAIL PROTECTED]>:
> Xenon 3.0 com 2gb de memória.
>
>
>
> On Mon, Jun 9, 2008 at 9:42 AM, Aluisio Gouveia
> <[EMAIL PROTECTED]> wrote:
>>
>> Rafael Bragatto Gratz escreveu:
>> > Boa tarde pessoal, estou com um problema sério em um dos meus clientes.
>> >
>> > Há 300 máquinas conectadas (em torno de 2 conexões por máquina) no
>> > servidor postgres e o servidor está com o processor a 100% de uso e
>> > memória com 1900gb em uso e está MUITO LENTO.
>> >
>> > Se alguém puder me ajudar eu agradeço.
>> >
>> > A configuraçào do meu postgre.conf está assim:
>> >
>> > *
>> >
>> > #---------------------------------------------------------------------------
>> > # 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 = 1200            # (change requires restart)
>> > # Note: increasing max_connections costs ~400 bytes of shared memory 
>> > per
>> > # connection slot, plus lock space (see max_locks_per_transaction). 
>> > You
>> > # might also need to raise shared_buffers to support more connections.
>> > #superuser_reserved_connections = 3    # (change requires restart)
>> > #unix_socket_directory = ''        # (change requires restart)
>> > #unix_socket_group = ''            # (change requires restart)
>> > #unix_socket_permissions = 0777        # octal
>> >                     # (change requires restart)
>> > #bonjour_name = ''            # defaults to the computer name
>> >                     # (change requires restart)
>> >
>> > # - Security & Authentication -
>> >
>> > #authentication_timeout = 1min        # 1s-600s
>> > #ssl = off                # (change requires restart)
>> > #password_encryption = on
>> > #db_user_namespace = off
>> >
>> > # Kerberos
>> > #krb_server_keyfile = ''        # (change requires restart)
>> > #krb_srvname = 'postgres'        # (change requires restart)
>> > #krb_server_hostname = ''        # empty string matches any keytab 
>> > entry
>> >                     # (change requires restart)
>> > #krb_caseins_users = off        # (change requires restart)
>> >
>> > # - TCP Keepalives -
>> > # see 'man 7 tcp' for details
>> >
>> > #tcp_keepalives_idle = 0        # TCP_KEEPIDLE, in seconds;
>> >                     # 0 selects the system default
>> > #tcp_keepalives_interval = 0        # TCP_KEEPINTVL, in seconds;
>> >                     # 0 selects the system default
>> > #tcp_keepalives_count = 0        # TCP_KEEPCNT;
>> >                     # 0 selects the system default
>> >
>> >
>> >
>> > #---------------------------------------------------------------------------
>> > # RESOURCE USAGE (except WAL)
>> >
>> > #---------------------------------------------------------------------------
>> >
>> > # - Memory -
>> >
>> > shared_buffers = 256MB            # min 128kB or max_connections*16kB
>> >                     # (change requires restart)
>> > #temp_buffers = 8MB            # min 800kB
>> > #max_prepared_transactions = 5        # can be 0 or more
>> >                     # (change requires restart)
>> > # Note: increasing max_prepared_transactions costs ~600 bytes of
>> > shared memory
>> > # per transaction slot, plus lock space (see 
>> > max_locks_per_transaction).
>> > work_mem = 2MB                # min 64kB
>> > maintenance_work_mem = 16MB        # min 1MB
>> > #max_stack_depth = 2MB            # min 100kB
>> >
>> > # - Free Space Map -
>> >
>> > max_fsm_pages = 204800        # min max_fsm_relations*16, 6 bytes each
>> >                     # (change requires restart)
>> > #max_fsm_relations = 1000        # min 100, ~70 bytes each
>> >                     # (change requires restart)
>> >
>> > # - 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 = 0            # 0-1000 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 = 200        # 0-10000 credits
>> >
>> > # - Background writer -
>> >
>> > #bgwriter_delay = 200ms            # 10-10000ms between rounds
>> > #bgwriter_lru_percent = 1.0        # 0-100% of LRU buffers 
>> > scanned/round
>> > #bgwriter_lru_maxpages = 5        # 0-1000 buffers max written/round
>> > #bgwriter_all_percent = 0.333        # 0-100% of all buffers
>> > scanned/round
>> > #bgwriter_all_maxpages = 5        # 0-1000 buffers max written/round
>> >
>> >
>> >
>> > #---------------------------------------------------------------------------
>> > # WRITE AHEAD LOG
>> >
>> > #---------------------------------------------------------------------------
>> >
>> > # - Settings -
>> >
>> > #fsync = on                # turns forced synchronization on or off
>> > #wal_sync_method = fsync        # the default is the first option
>> >                     # supported by the operating system:
>> >                     #   open_datasync
>> >                     #   fdatasync
>> >                     #   fsync
>> >                     #   fsync_writethrough
>> >                     #   open_sync
>> > #full_page_writes = on            # recover from partial page writes
>> > #wal_buffers = 64kB            # min 32kB
>> >                     # (change requires restart)
>> > #commit_delay = 0            # range 0-100000, in microseconds
>> > #commit_siblings = 5            # range 1-1000
>> >
>> > # - Checkpoints -
>> >
>> > #checkpoint_segments = 3        # in logfile segments, min 1, 16MB each
>> > #checkpoint_timeout = 5min        # range 30s-1h
>> > #checkpoint_warning = 30s        # 0 is off
>> >
>> > # - Archiving -
>> >
>> > #archive_command = ''        # command to use to archive a logfile
>> > segment
>> > #archive_timeout = 0        # force a logfile segment switch after this
>> >                 # many seconds; 0 is off
>> >
>> >
>> >
>> > #---------------------------------------------------------------------------
>> > # 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.01            # same scale as above
>> > #cpu_index_tuple_cost = 0.005        # same scale as above
>> > #cpu_operator_cost = 0.0025        # same scale as above
>> > #effective_cache_size = 128MB
>> >
>> > # - 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 = 10        # range 1-1000
>> > #constraint_exclusion = off
>> > #from_collapse_limit = 8
>> > #join_collapse_limit = 8        # 1 disables collapsing of explicit
>> >                     # JOINs
>> >
>> >
>> >
>> >
>> > #---------------------------------------------------------------------------
>> > # RUNTIME STATISTICS
>> >
>> > #---------------------------------------------------------------------------
>> >
>> > # - Query/Index Statistics Collector -
>> >
>> > #stats_command_string = on
>> > #update_process_title = on
>> >
>> > stats_start_collector = on        # needed for block or row stats
>> >                     # (change requires restart)
>> > #stats_block_level = off
>> > stats_row_level = on
>> > #stats_reset_on_server_start = off    # (change requires restart)
>> >
>> >
>> > # - 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 stats_start_collector
>> >                     # and stats_row_level to also be on
>> > #autovacuum_naptime = 1min        # time between autovacuum runs
>> > #autovacuum_vacuum_threshold = 500    # min # of tuple updates before
>> >                     # vacuum
>> > #autovacuum_analyze_threshold = 250    # min # of tuple updates before
>> >                     # analyze
>> > #autovacuum_vacuum_scale_factor = 0.2    # fraction of rel size before
>> >                     # vacuum
>> > #autovacuum_analyze_scale_factor = 0.1    # fraction of rel size before
>> >                     # analyze
>> > #autovacuum_freeze_max_age = 200000000    # maximum XID age before
>> > forced vacuum
>> >                     # (change requires restart)
>> > #autovacuum_vacuum_cost_delay = -1    # default vacuum cost delay for
>> >                     # autovacuum, -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
>> > #check_function_bodies = on
>> > #default_transaction_isolation = 'read committed'
>> > #default_transaction_read_only = off
>> > #statement_timeout = 0            # 0 is disabled
>> > #vacuum_freeze_min_age = 100000000
>> >
>> > # - Locale and Formatting -
>> >
>> > datestyle = 'iso, dmy'
>> > #timezone = unknown            # actually, defaults to TZ
>> >                     # environment setting
>> > #timezone_abbreviations = 'Default'     # select the set of available
>> > timezone
>> >                     # abbreviations. Currently, there are
>> >                     #   Default
>> >                     #   Australia
>> >                     #   India
>> >                     # However you can also create your own
>> >                     # file in share/timezonesets/.
>> > #extra_float_digits = 0            # min -15, max 2
>> > #client_encoding = sql_ascii        # actually, defaults to database
>> >                     # encoding
>> >
>> > # These settings are initialized by initdb -- they might be changed
>> > lc_messages = 'Portuguese_Brazil'            # locale for system error
>> > message
>> >                     # strings
>> > lc_monetary = 'Portuguese_Brazil'            # locale for monetary
>> > formatting
>> > lc_numeric = 'Portuguese_Brazil'            # locale for number
>> > formatting
>> > lc_time = 'Portuguese_Brazil'                # locale for time
>> > formatting
>> >
>> > # - Other Defaults -
>> >
>> > #explain_pretty_print = on
>> > #dynamic_library_path = '$libdir'
>> > #local_preload_libraries = ''
>> >
>> >
>> >
>> > #---------------------------------------------------------------------------
>> > # LOCK MANAGEMENT
>> >
>> > #---------------------------------------------------------------------------
>> >
>> > #deadlock_timeout = 1s
>> > #max_locks_per_transaction = 64        # min 10
>> >                     # (change requires restart)
>> > # Note: each lock table slot uses ~270 bytes of shared memory, and
>> > there are
>> > # max_locks_per_transaction * (max_connections +
>> > max_prepared_transactions)
>> > # lock table slots.
>> >
>> >
>> >
>> > #---------------------------------------------------------------------------
>> > # VERSION/PLATFORM COMPATIBILITY
>> >
>> > #---------------------------------------------------------------------------
>> >
>> > # - Previous Postgres Versions -
>> >
>> > #add_missing_from = off
>> > #array_nulls = on
>> > #backslash_quote = safe_encoding    # on, off, or safe_encoding
>> > #default_with_oids = off
>> > #escape_string_warning = on
>> > #standard_conforming_strings = off
>> > #regex_flavor = advanced        # advanced, extended, or basic
>> > #sql_inheritance = on
>> >
>> > # - Other Platforms & Clients -
>> >
>> > #transform_null_equals = off
>> >
>> >
>> >
>> > #---------------------------------------------------------------------------
>> > # CUSTOMIZED OPTIONS
>> >
>> > #---------------------------------------------------------------------------
>> >
>> > #custom_variable_classes = ''        # list of custom variable class
>> > names
>> > *
>> >
>> >
>> > --
>> > Rafael Bragatto Gratz
>> >
>> > [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>> > Projeta Sistemas Orientados Ao Seu Mundo
>> > www.projetasistemas.com.br <http://www.projetasistemas.com.br>
>> >
>> >
>> > ------------------------------------------------------------------------
>> >
>> > _______________________________________________
>> > pgbr-geral mailing list
>> > pgbr-geral@listas.postgresql.org.br
>> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>> >
>> Qual a configuração do hardware?
>>
>>
>> --
>> Cordialmente;
>>
>> Aluisio Gouveia
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
>
> --
> Rafael Bragatto Gratz
>
> [EMAIL PROTECTED]
> Projeta Sistemas Orientados Ao Seu Mundo
> www.projetasistemas.com.br
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a