Re: [GENERAL] performance very slow

From: Bill Montgomery <billm(at)lulu(dot)com>
To: Mario Soto <mario_soto(at)venezolanadeavaluos(dot)com>, pgsql-performance(at)postgresql(dot)org
Subject: Re: [GENERAL] performance very slow
Date: 2004-05-26 16:25:45
Message-ID: 40B4C509.4000902@lulu.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-performance

Mario Soto wrote:

>Hi. i hava a postresql 7.4.2 in a production server.
>
>tha machine is a Pentium IV 2,6 GHZ AND 1 GB IN RAM with lINUX RH 9.0.
>
>
Mario,

Start with reading this:

http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html

Without knowing anything about the size of your database, your usage
patterns, or your disk subsystem (the most important part of a database
server, imho) I would suggest you first increase the number of
shared_buffers allocated to Postgres. Most recommend keeping this number
below 10000, but I've found I get the best performance with about 24000
shared_buffers with a ~5GB database on a machine with 4GB of ram,
dedicated to Postgres. You'll have to experiment to see what works best
for you.

Also, make sure you VACUUM and ANALYZE on a regular basis. Again, the
frequency of this really depends on your data and usage patterns. More
frequent write operations require more frequent vacuuming.

Good luck.

Best Regards,

Bill Montgomery

>The postresql.conf say:
>
>#---------------------------------------------------------------------------
># RESOURCE USAGE (except WAL)
>#---------------------------------------------------------------------------
>
># - Memory -
>
>shared_buffers = 1000 # min 16, at least max_connections*2, 8KB
>each
>sort_mem = 1024 # min 64, size in KB
>vacuum_mem = 8192 # min 1024, size in KB
>
># - Free Space Map -
>
>max_fsm_pages = 20000 # min max_fsm_relations*16, 6 bytes each
>max_fsm_relations = 1000 # min 100, ~50 bytes each
>
># - Kernel Resource Usage -
>
>max_files_per_process = 1000 # min 25
>#preload_libraries = ''
>
>
>#---------------------------------------------------------------------------
># WRITE AHEAD LOG
>#---------------------------------------------------------------------------
>
># - Settings -
>
>fsync = true # turns forced synchronization on or off
>wal_sync_method = fsync # the default varies across platforms:
> # fsync, fdatasync, open_sync, or
>open_datasync
>wal_buffers = 8 # min 4, 8KB each
>
># - Checkpoints -
>
>checkpoint_segments = 3 # in logfile segments, min 1, 16MB each
>checkpoint_timeout = 300 # range 30-3600, in seconds
>checkpoint_warning = 30 # 0 is off, in seconds
>commit_delay = 0 # range 0-100000, in microseconds
>commit_siblings = 5 # range 1-1000
>
>#---------------------------------------------------------------------------
># QUERY TUNING
>#---------------------------------------------------------------------------
>
># - Planner Method Enabling -
>
>enable_hashagg = true
>enable_hashjoin = true
>enable_indexscan = true
>enable_mergejoin = true
>enable_nestloop = true
>enable_seqscan = true
>enable_sort = true
>enable_tidscan = true
>
># - Planner Cost Constants -
>
>effective_cache_size = 1000 # typically 8KB each
>random_page_cost = 4 # units are one sequential page fetch cost
>cpu_tuple_cost = 0.01 # (same)
>cpu_index_tuple_cost = 0.001 # (same)
>cpu_operator_cost = 0.0025 # (same)
>
># - Genetic Query Optimizer -
>
>geqo = true
>geqo_threshold = 11
>geqo_effort = 1
>geqo_generations = 0
>geqo_pool_size = 0 # default based on tables in statement,
> # range 128-1024
>geqo_selection_bias = 2.0 # range 1.5-2.0
>
># - Other Planner Options -
>
>default_statistics_target = 100 # range 1-1000
>from_collapse_limit = 30
>join_collapse_limit = 30 # 1 disables collapsing of explicit JOINs
>
>
>#---------------------------------------------------------------------------
># ERROR REPORTING AND LOGGING
>#---------------------------------------------------------------------------
>
># - Syslog -
>
>#syslog = 0 # range 0-2; 0=stdout; 1=both; 2=syslog
>#syslog_facility = 'LOCAL0'
>#syslog_ident = 'postgres'
>
># - When to Log -
>
>#client_min_messages = notice # Values, in order of decreasing detail:
> # debug5, debug4, debug3, debug2, debug1,
> # log, info, notice, warning, error
>
>#log_min_messages = notice # Values, in order of decreasing detail:
> # debug5, debug4, debug3, debug2, debug1,
> # info, notice, warning, error, log, fatal,
> # panic
>
>#log_error_verbosity = default # terse, default, or verbose messages
>
>#log_min_error_statement = panic # Values in order of increasing severity:
> # debug5, debug4, debug3, debug2, debug1,
> # info, notice, warning, error, panic(off)
>
>#log_min_duration_statement = -1 # Log all statements whose
> # execution time exceeds the value, in
> # milliseconds. Zero prints all queries.
> # Minus-one disables.
>
>#silent_mode = false # DO NOT USE without Syslog!
>
># - What to Log -
>
>
>
>debug_print_parse = true
>debug_print_rewritten = true
>debug_print_plan = true
>debug_pretty_print = true
>log_connections = true
>log_duration = true
>log_pid = true
>log_statement = true
>log_timestamp = true
>log_hostname = true
>log_source_port = true
>
>
>#---------------------------------------------------------------------------
># RUNTIME STATISTICS
>#---------------------------------------------------------------------------
>
># - Statistics Monitoring -
>
>log_parser_stats = true
>log_planner_stats = true
>log_executor_stats = true
>#log_statement_stats = true
>
># - Query/Index Statistics Collector -
>
>stats_start_collector = true
>stats_command_string = true
>stats_block_level = true
>stats_row_level = true
>stats_reset_on_server_start = true
>
>
>#---------------------------------------------------------------------------
># CLIENT CONNECTION DEFAULTS
>#---------------------------------------------------------------------------
>
># - Statement Behavior -
>
>#search_path = '$user,public' # schema names
>#check_function_bodies = true
>#default_transaction_isolation = 'read committed'
>#default_transaction_read_only = false
>#statement_timeout = 0 # 0 is disabled, in milliseconds
>
># - Locale and Formatting -
>
>#datestyle = 'iso, mdy'
>#timezone = unknown # actually, defaults to TZ environment
>setting
>#australian_timezones = false
>#extra_float_digits = 0 # min -15, max 2
>#client_encoding = sql_ascii # actually, defaults to database encoding
>
># These settings are initialized by initdb -- they may be changed
>lc_messages = 'es_VE.UTF-8' # locale for system error message
>strings
>lc_monetary = 'es_VE.UTF-8' # locale for monetary formatting
>lc_numeric = 'es_VE.UTF-8' # locale for number formatting
>lc_time = 'es_VE.UTF-8' # locale for time formatting
>
># - Other Defaults -
>
>explain_pretty_print = true
>#dynamic_library_path = '$libdir'
>#max_expr_depth = 10000 # min 10
>
>
>#---------------------------------------------------------------------------
># LOCK MANAGEMENT
>#---------------------------------------------------------------------------
>
>#deadlock_timeout = 1000 # in milliseconds
>#max_locks_per_transaction = 64 # min 10, ~260*max_connections bytes each
>
>
>#---------------------------------------------------------------------------
># VERSION/PLATFORM COMPATIBILITY
>#---------------------------------------------------------------------------
>
># - Previous Postgres Versions -
>
>#add_missing_from = true
>#regex_flavor = advanced # advanced, extended, or basic
>#sql_inheritance = true
>
># - Other Platforms & Clients -
>
>#transform_null_equals = false
>
>
>
>BUT THE PERFORMANCE IT´S VERY SLOW
>
>what can do ?????
>
>Thank
>
>
>Mario Soto
>
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2004-05-26 16:27:47 Re: planer don't use index. bad plan for where id = x or id in (select ...)
Previous Message Mario Soto 2004-05-26 15:26:30 performance very slow

Browse pgsql-performance by date

  From Date Subject
Next Message Mario Soto 2004-05-26 16:35:57 Re: [GENERAL] performance very slow
Previous Message Josh Berkus 2004-05-26 16:17:35 Re: PostgreSQL caching