Hi, I am using zabbix monitoring software. The backbone database for zabbix is postgresql 8.1 installed od linux. Database server has 3GB of RAM, 1 CPU Dual Core and 2 SAS disks in RAID 1. Zabbix makes a lot of inserts and updates on database. The problem is that when autovaccum starts the database freezes. I am trying to make better performance, I have read a lot of documents and sites about performance tunning but still no luck. My current database variables: add_missing_from | off | Automatically adds missing table references to FROM clauses. archive_command | unset | WAL archiving command. australian_timezones | off | Interprets ACST, CST, EST, and SAT as Australian ti me zones. authentication_timeout | 60 | Sets the maximum time in seconds to complete client authentication. autovacuum | on | Starts the autovacuum subprocess. autovacuum_analyze_scale_factor | 0.1 | Number of tuple inserts, updates or deletes prior t o analyze as a fraction of reltuples. autovacuum_analyze_threshold | 5000 | Minimum number of tuple inserts, updates or deletes prior to analyze. autovacuum_naptime | 60 | Time to sleep between autovacuum runs, in seconds. autovacuum_vacuum_cost_delay | -1 | Vacuum cost delay in milliseconds, for autovacuum. autovacuum_vacuum_cost_limit | -1 | Vacuum cost amount available before napping, for au tovacuum. autovacuum_vacuum_scale_factor | 0.2 | Number of tuple updates or deletes prior to vacuum as a fraction of reltuples. autovacuum_vacuum_threshold | 100000 | Minimum number of tuple updates or deletes prior to vacuum. backslash_quote | safe_encoding | Sets whether "\'" is allowed in string literals. bgwriter_all_maxpages | 5 | Background writer maximum number of all pages to fl ush per round bgwriter_all_percent | 0.333 | Background writer percentage of all buffers to flus h per round bgwriter_delay | 200 | Background writer sleep time between rounds in mill iseconds bgwriter_lru_maxpages | 5 | Background writer maximum number of LRU pages to fl ush per round bgwriter_lru_percent | 1 | Background writer percentage of LRU buffers to flus h per round block_size | 8192 | Shows size of a disk block bonjour_name | unset | Sets the Bonjour broadcast service name. check_function_bodies | on | Check function bodies during CREATE FUNCTION. checkpoint_segments | 32 | Sets the maximum distance in log segments between a utomatic WAL checkpoints. checkpoint_timeout | 300 | Sets the maximum time in seconds between automatic WAL checkpoints. checkpoint_warning | 30 | Logs if filling of checkpoint segments happens more frequently than this (in seconds). client_encoding | UTF8 | Sets the client's character set encoding. client_min_messages | notice | Sets the message levels that are sent to the client . commit_delay | 0 | Sets the delay in microseconds between transaction commit and flushing WAL to disk. commit_siblings | 5 | Sets the minimum concurrent open transactions befor e performing commit_delay. config_file | /var/lib/pgsql/data/postgresql.conf | Sets the server's main configuration file. constraint_exclusion | off | Enables the planner to use constraints to optimize queries. cpu_index_tuple_cost | 0.001 | Sets the planner's estimate of processing cost for each index tuple (row) during index scan. cpu_operator_cost | 0.0025 | Sets the planner's estimate of processing cost of e ach operator in WHERE. cpu_tuple_cost | 0.01 | Sets the planner's estimate of the cost of processi ng each tuple (row). custom_variable_classes | unset | Sets the list of known custom variable classes. data_directory | /var/lib/pgsql/data | Sets the server's data directory. DateStyle | ISO, MDY | Sets the display format for date and time values. db_user_namespace | off | Enables per-database user names. deadlock_timeout | 1000 | The time in milliseconds to wait on lock before che cking for deadlock. debug_pretty_print | off | Indents parse and plan tree displays. debug_print_parse | off | Prints the parse tree to the server log. debug_print_plan | off | Prints the execution plan to server log. debug_print_rewritten | off | Prints the parse tree after rewriting to server log . default_statistics_target | 100 | Sets the default statistics target. default_tablespace | unset | Sets the default tablespace to create tables and in dexes in. default_transaction_isolation | read committed | Sets the transaction isolation level of each new tr ansaction. default_transaction_read_only | off | Sets the default read-only status of new transactio ns. default_with_oids | off | Create new tables with OIDs by default. dynamic_library_path | $libdir | Sets the path for dynamically loadable modules. effective_cache_size | 190000 | Sets the planner's assumption about size of the dis k cache. enable_bitmapscan | on | Enables the planner's use of bitmap-scan plans. enable_hashagg | on | Enables the planner's use of hashed aggregation pla ns. enable_hashjoin | on | Enables the planner's use of hash join plans. enable_indexscan | on | Enables the planner's use of index-scan plans. enable_mergejoin | on | Enables the planner's use of merge join plans. enable_nestloop | on | Enables the planner's use of nested-loop join plans . enable_seqscan | on | Enables the planner's use of sequential-scan plans. enable_sort | on | Enables the planner's use of explicit sort steps. enable_tidscan | on | Enables the planner's use of TID scan plans. escape_string_warning | off | Warn about backslash escapes in ordinary string lit erals. explain_pretty_print | on | Uses the indented output format for EXPLAIN VERBOSE . external_pid_file | unset | Writes the postmaster PID to the specified file. extra_float_digits | 0 | Sets the number of digits displayed for floating-po int values. from_collapse_limit | 8 | Sets the FROM-list size beyond which subqueries are not collapsed. fsync | on | Forces synchronization of updates to disk. full_page_writes | on | Writes full pages to WAL when first modified after a checkpoint. geqo | on | Enables genetic query optimization. geqo_effort | 5 | GEQO: effort is used to set the default for other G EQO parameters. geqo_generations | 0 | GEQO: number of iterations of the algorithm. geqo_pool_size | 0 | GEQO: number of individuals in the population. geqo_selection_bias | 2 | GEQO: selective pressure within the population. geqo_threshold | 12 | Sets the threshold of FROM items beyond which GEQO is used. hba_file | /var/lib/pgsql/data/pg_hba.conf | Sets the server's "hba" configuration file ident_file | /var/lib/pgsql/data/pg_ident.conf | Sets the server's "ident" configuration file integer_datetimes | off | Datetimes are integer based. join_collapse_limit | 8 | Sets the FROM-list size beyond which JOIN construct s are not flattened. krb_caseins_users | off | Sets whether Kerberos user names should be treated as case-insensitive. krb_server_hostname | unset | Sets the hostname of the Kerberos server. krb_server_keyfile | FILE:/etc/sysconfig/pgsql/krb5.keytab | Sets the location of the Kerberos server key file. krb_srvname | postgres | Sets the name of the Kerberos service. lc_collate | pl_PL.UTF-8 | Shows the collation order locale. lc_ctype | pl_PL.UTF-8 | Shows the character classification and case convers ion locale. lc_messages | pl_PL.UTF-8 | Sets the language in which messages are displayed. lc_monetary | pl_PL.UTF-8 | Sets the locale for formatting monetary amounts. lc_numeric | pl_PL.UTF-8 | Sets the locale for formatting numbers. lc_time | pl_PL.UTF-8 | Sets the locale for formatting date and time values . listen_addresses | * | Sets the host name or IP address(es) to listen to. log_connections | off | Logs each successful connection. log_destination | stderr | Sets the destination for server log output. log_directory | pg_log | Sets the destination directory for log files. log_disconnections | off | Logs end of a session, including duration. log_duration | off | Logs the duration of each completed SQL statement. log_error_verbosity | default | Sets the verbosity of logged messages. log_executor_stats | off | Writes executor performance statistics to the serve r log. log_filename | postgresql-%a.log | Sets the file name pattern for log files. log_hostname | off | Logs the host name in the connection logs. log_line_prefix | unset | Controls information prefixed to each log line log_min_duration_statement | -1 | Sets the minimum execution time in milliseconds abo ve which statements will be logged. log_min_error_statement | panic | Causes all statements generating error at or above this level to be logged. log_min_messages | notice | Sets the message levels that are logged. log_parser_stats | off | Writes parser performance statistics to the server log. log_planner_stats | off | Writes planner performance statistics to the server log. log_rotation_age | 1440 | Automatic log file rotation will occur after N minu tes log_rotation_size | 0 | Automatic log file rotation will occur after N kilo bytes log_statement | none | Sets the type of statements logged. log_statement_stats | off | Writes cumulative performance statistics to the ser ver log. log_truncate_on_rotation | on | Truncate existing log files of same name during log rotation. maintenance_work_mem | 256000 | Sets the maximum memory to be used for maintenance operations. max_connections | 400 | Sets the maximum number of concurrent connections. max_files_per_process | 1000 | Sets the maximum number of simultaneously open file s for each server process. max_fsm_pages | 1000000 | Sets the maximum number of disk pages for which fre e space is tracked. max_fsm_relations | 1000 | Sets the maximum number of tables and indexes for w hich free space is tracked. max_function_args | 100 | Shows the maximum number of function arguments. max_identifier_length | 63 | Shows the maximum identifier length max_index_keys | 32 | Shows the maximum number of index keys. max_locks_per_transaction | 64 | Sets the maximum number of locks per transaction. max_prepared_transactions | 100 | Sets the maximum number of simultaneously prepared transactions. max_stack_depth | 10240 | Sets the maximum stack depth, in kilobytes. password_encryption | off | Encrypt passwords. port | 5432 | Sets the TCP port the server listens on. pre_auth_delay | 0 | no description available preload_libraries | unset | Lists shared libraries to preload into server. random_page_cost | 3 | Sets the planner's estimate of the cost of a nonseq uentially fetched disk page. redirect_stderr | on | Start a subprocess to capture stderr output into lo g files. regex_flavor | advanced | Sets the regular expression "flavor". search_path | $user,public | Sets the schema search order for names that are not schema-qualified. server_encoding | UTF8 | Sets the server (database) character set encoding. server_version | 8.1.11 | Shows the server version. shared_buffers | 95000 | Sets the number of shared memory buffers used by th e server. silent_mode | off | Runs the server silently. sql_inheritance | on | Causes subtables to be included by default in vario us commands. ssl | off | Enables SSL connections. standard_conforming_strings | off | '...' strings treat backslashes literally. statement_timeout | 0 | Sets the maximum allowed duration (in milliseconds) of any statement. stats_block_level | on | Collects block-level statistics on database activit y. stats_command_string | on | Collects statistics about executing commands. stats_reset_on_server_start | off | Zeroes collected statistics on server restart. stats_row_level | on | Collects row-level statistics on database activity. stats_start_collector | on | Starts the server statistics-collection subprocess. superuser_reserved_connections | 2 | Sets the number of connection slots reserved for su perusers. syslog_facility | LOCAL0 | Sets the syslog "facility" to be used when syslog e nabled. syslog_ident | postgres | Sets the program name used to identify PostgreSQL m essages in syslog. tcp_keepalives_count | 0 | Maximum number of TCP keepalive retransmits. tcp_keepalives_idle | 0 | Seconds between issuing TCP keepalives. tcp_keepalives_interval | 0 | Seconds between TCP keepalive retransmits. temp_buffers | 1000 | Sets the maximum number of temporary buffers used b y each session. TimeZone | Poland | Sets the time zone for displaying and interpreting time stamps. trace_notify | off | Generates debugging output for LISTEN and NOTIFY. trace_sort | off | Emit information about resource usage in sorting. transaction_isolation | read committed | Sets the current transaction's isolation level. transaction_read_only | off | Sets the current transaction's read-only status. transform_null_equals | off | Treats "expr=NULL" as "expr IS NULL". unix_socket_directory | unset | Sets the directory where the Unix-domain socket wil l be created. unix_socket_group | unset | Sets the owning group of the Unix-domain socket. unix_socket_permissions | 511 | Sets the access permissions of the Unix-domain sock et. vacuum_cost_delay | 10 | Vacuum cost delay in milliseconds. vacuum_cost_limit | 200 | Vacuum cost amount available before napping. vacuum_cost_page_dirty | 20 | Vacuum cost for a page dirtied by vacuum. vacuum_cost_page_hit | 1 | Vacuum cost for a page found in the buffer cache. vacuum_cost_page_miss | 10 | Vacuum cost for a page not found in the buffer cach e. wal_buffers | 2000 | Sets the number of disk-page buffers in shared memo ry for WAL. wal_sync_method | fdatasync | Selects the method used for forcing WAL updates out to disk. work_mem | 1600000 | Sets the maximum memory to be used for query worksp aces. zero_damaged_pages | off | Continues processing past damaged page headers. (163 rows) I would be very grateful for any help. Greetings for all. -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance