Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N
We recommend LSILogic MedaRAID caching RAID controllers for our highest-volume dialing clients.
Rows_examined: 12607094
ruben23 wrote:@Frequency
Any suggestion you can give us, yes most of the time the QA mostly opens the campaign to do some re adjusting. im using the config for my big my.cnf the one used for sole database
Also if i may ask would it help turning the databsed engine to InnoDB rather with Myisam. is this still an issue now, that it wont worked with innoDB. Thanks
# ViciBox v.7.0 config file for MariaDB 10
# Inital settings for a 4 CPU cores and 8GB of RAM
# Should be easily obtainable at this point for any modern server
### Tuning for more CPU
# Set thread concurrency equal to the total number of CPU cores that
# the OS sees. Running 'cat /proc/cpuinfo | grep processor' should help
### Tuning for more RAM/Connections
# You will want 6-8GB of memory for every 512 connections to MySQL
# with a standard ViciDial installation and database. So if you want
# to go from 512 for 2048 connections, you will want
# somewhere around 24 to 32GB of RAM in the database. This is a general
# guideline and is HIGHLY dependant upon your ACTUAL production
# load. You will
#
# TL;DR; 24-32GB total memory for 2048 max connections, YMMV
### Tuning locking and I/O issues
# More memory first, faster disks second, and log/lead purging third.
# See above note for memory, but it's cheap performance, so add plenty.
# Use good proven SSDs in a RAID-1 or RAID-10 for MySQL, NEVER RAID5/6!!!
# Archive log tables with the ADMIN_archive_log_tables.pl script in the crontab
# Try to purge/archive leads you haven't called in a while from vicidial_list
# The following options will be passed to all MariaDB clients
[client]
# password = your_password
port = 3306
socket = /var/run/mysql/mysql.sock
[mysqld]
log_bin=/var/lib/mysql/mysql-bin
binlog_format=mixed
server-id=1
relay-log = /var/lib/mysql/mysqld-relay-bin
slave-skip-errors = 1032,1690,1062
datadir=/var/lib/mysql
sql_mode=NO_ENGINE_SUBSTITUTION
port = 3306
socket = /var/run/mysql/mysql.sock
skip-external-locking
skip-name-resolve
connect_timeout=60
long_query_time=3
slow_query_log=1
slow-query-log-file=/var/log/mysql/mysqld-slow.log
max_connections=1500
key_buffer_size=2048M
max_allowed_packet=32M
table_open_cache=2048
table_definition_cache=2048
open_files_limit=24576
sort_buffer_size=6M
net_buffer_length=8K
read_buffer_size=4M
read_rnd_buffer_size=16M
myisam_sort_buffer_size=64M
join_buffer_size=1M
thread_cache_size=16
query_cache_size=64M
thread_concurrency=8
default-storage-engine=MyISAM
expire_logs_days=3
concurrent_insert=2
myisam_repair_threads=1
myisam_use_mmap=1
skip-innodb
delay_key_write=ALL
max_write_lock_count=1
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
#
# skip-networking
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
log = /var/log/mysqld_multi.log
# If you want to use mysqld_multi uncomment 1 or more mysqld sections
# below or add your own ones.
# WARNING
# --------
# If you uncomment mysqld1 than make absolutely sure, that database mysql,
# configured above, is not started. This may result in corrupted data!
#
# [mysqld1]
# port = 3306
# datadir = /var/lib/mysql
# pid-file = /var/lib/mysql/mysqld.pid
# socket = /var/lib/mysql/mysql.sock
# user = mysql
# [mysqld2]
# port = 3307
# datadir = /var/lib/mysql-databases/mysqld2
# pid-file = /var/lib/mysql-databases/mysqld2/mysql.pid
# socket = /var/lib/mysql-databases/mysqld2/mysql.sock
# user = mysql
# [mysqld3]
# port = 3308
# datadir = /var/lib/mysql-databases/mysqld3
# pid-file = /var/lib/mysql-databases/mysqld3/mysql.pid
# socket = /var/lib/mysql-databases/mysqld3/mysql.sock
# user = mysql
# [mysqld6]
# port = 3309
# datadir = /var/lib/mysql-databases/mysqld6
# pid-file = /var/lib/mysql-databases/mysqld6/mysql.pid
# socket = /var/lib/mysql-databases/mysqld6/mysql.sock
# user = mysql
[myisamchk]
key_buffer = 256M
sort_buffer = 256M
read_buffer = 2M
write_buffer = 2M
!includedir /etc/my.cnf.d
I usually keep 15-30days of logs on live server and move overflow to archive database(usually VM). You should do the same.
you will need to partition leads table by list_id, to speed it up.
You can also partition log tables for performance boost.
Keep carrier log clean, if you do not want to archive it, just clean it every week. This table can kill your database performance if it grows out of control
perl /usr/share/astguiclient/ADMIN_archive_log_tables.pl --help
Need to see actual full query, not just beginning of it.
How many campaigns do you have set to active on your system?
How many lists do you have active in each campaign?
How many leads are in the active lists in each of those campaigns?
mmirasol wrote:Also could you advise on the performance of SSD drives vs SAS drives.
Our raid10 setup uses:
4 400GB Intel DC S3610
4 port LSI 9631 RAID SAS Controller with Cachevault
Upon checking we have SSD drives. Do you know if these would perform better or less than 15k RPM SAS/SCSI hard drives?
Users browsing this forum: Bing [Bot], Majestic-12 [Bot] and 97 guests