Hello Fajar, On Fri, Feb 12, 2010 at 12:42 AM, Fajar A. Nugraha <fajar@fajar.net> wrote:
When the NAS doesn't receive response (for whatever reason) in a certain time, it should sends the request again. The number of retries and timeout vary depending on NAS (tunable settings on some). If after all retries it still doesn't receive a response, the user won't be able to login.
Just for your information, below are the snippets of my configurations which is similar to my 4 x FreeRADIUS servers. [ /etc/raddb/radiusd.conf ] max_request_time = 10 delete_blocked_requests = no cleanup_delay = 5 max_requests = 1024 [ /etc/raddb/sql.conf ] sql { num_sql_socks = 30 connect_failure_retry_delay = 10 }
If the database is dead, FR should reconnect automatically. Usually those logs are early sign of problems, and I'd check my database first. Delete old radacct records, tune some settings, convert them to innodb, get faster disk/more RAM, etc.
The MySQL service is always up except when I manually restart the service. Below is the hardware specifications of my database server: - Dell PowerEdge 1950 - Intel(R) Xeon(R) CPU E5405 @ 2.00GHz (2 CPU @ 4 cores each) - 4GB ECC DDR2 667 MHz RAM - MegaRAID SAS 1078 RAID 1 Below is the software specifications of my database server: - CentOS 5.x x86_64 - MySQL-server-community-5.0.67-0.rhel5 Below is my /etc/my.cnf file although I am already using InnoDB engine: [mysqld] wait_timeout=3600 connect_timeout=10 interactive_timeout=120 join_buffer_size=1M query_cache_size=128M query_cache_limit=2M max_allowed_packet=16M table_cache=1024 sort_buffer_size=2M read_buffer_size=2M read_rnd_buffer_size=4M skip-name-resolve max_connections=500 sort_buffer_size=8M key_buffer = 256M key_buffer_size=384M thread_cache=256 thread_concurrency=16 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql old_passwords=1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid on which, I am planning to add the following parameters specific for InnoDB: innodb_buffer_pool_size = 2048M innodb_additional_mem_pool_size = 20M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 0 innodb_log_file_size = 1024M innodb_lock_wait_timeout = 300 innodb_thread_concurrency = 16 And lastly, below are outputs from the MySQL shell: mysql> status -------------- mysql Ver 14.12 Distrib 5.0.67, for redhat-linux-gnu (x86_64) using readline 5.1 Connection id: 63586 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.0.67-community MySQL Community Edition (GPL) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 UNIX socket: /var/lib/mysql/mysql.sock Uptime: 3 days 4 hours 35 min 14 sec Threads: 71 Questions: 2547942 Slow queries: 166 Opens: 482 Flush tables: 1 Open tables: 184 Queries per second avg: 9.241 -------------- mysql> show variables like 'max_connections'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 500 | +-----------------+-------+ 1 row in set (0.00 sec) mysql> show status like 'max_used_connections'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Max_used_connections | 249 | +----------------------+-------+ 1 row in set (0.00 sec) I intentionally didn't include the output of "show full processlist" and "show innodb status" because they are very large to include them here. If you need them, please tell me and I will send it to you personally. I have attached the system usage logs for your reference.
best-case scenario, user will get some delay before they're able to login. worst-case scenario, they won't be able to login at all.
Thank you once again for giving your time to explain my questions to this list. Regards, Muffin