Home > front end >  Large amount of concurrent processing, humbly bow down to plan and guidance
Large amount of concurrent processing, humbly bow down to plan and guidance

Time:10-11

A: the project description

Project is a + portal + CS client architecture, network backup system using suse Linux environment, apache2.2, mysql5.5.6 version, the server is configured to four Intel Xeon V4 10 E7-4820 c, 64 gb DDR4 2400 MHZ memory,

Project first for A network backup storage sharing system, the second for portal release of information by file transfer to the fixed local folders (column), through. Doc is converted to HTML rendering, for example, when A release A piece of information, the other person have permission will sync released A. Doc body synchronized to the local, the server has A whole set client round tour detection set time period, the current round tour with 5 minutes time, front-end portal database engine USES the MyIsam, network backup engine USES the Innodb,
Now users online every day between 350-400, the total number of the problems is that sometimes occur throughout the day a certain point in time, the number of threads HTTPD will suddenly increased from 400 to 1000, accounting for between 30% and 40% of the total memory (memory is not problem, because there is surplus), CPU usage - sudden rise from 800% to 1000% from 600% - 3000%, mysql word memory footprint is very low, only accounts for 3% of the memory, and mysql CPU utilization between 1000% - 3000% at ordinary times, in the process of caton, query the TCP link, also can appear close_wait, below I put ATOP figure (caton condition),

Card immediately ATOP monitoring state



Card immediately query the TCP state diagram



The current database configuration file
 
# Example MySQL config file for large systems.
#
# This is for a large system with memory=512 m where the system runs mainly
# MySQL.
#
# MySQL designed look for option files in a set of
# locations which depend on the deployment platform.
# You can copy this option file to one of those
# locations. For information about these locations, see:
# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "-- help" option.

# The following options will be passed to all MySQL clients
[client]
# password=your_password
Port=3306
The socket=/data/mysql/mysql. The socket

# Here follows entries for some specific designed

# The MySQL server
[mysqld]
Port=3306
The socket=/data/mysql/mysql. The socket
Slow_query_log=1
Open_files_limit=30000
Skip - external - locking
Key_buffer_size=2048 m
Max_allowed_packet=32 m
Table_open_cache=4096
Sort_buffer_size=8 m
Read_buffer_size=8 m
Read_rnd_buffer_size=16 m
Myisam_sort_buffer_size=128 m
Thread_cache_size=1000
Query_cache_size=0
Query_cache_type=0
Back_log=600
Max_connections=8000
Both tmp_table_size=64 m
Max_heap_table_size=64 m
Binlog_cache_size=2 m
Join_buffer_size=8 m
# the Try number of CPU 's * 2 for thread_concurrency
# thread_concurrency=80

# Don 't listen on a TCP/IP port at all. This can be a security enhancement,
# if all the processes that need to connect to mysqld run on the same host.
# All interaction with the mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
Enable - named - # (via the "pipe" option) will render mysqld useless!
#
# the skip - networking

# the Replication Master Server (the default)
# binary logging is required for the replication
The log - bin=mysql - bin

# binary logging format - mixed it
Binlog_format=mixed

# required unique id between 1 and 2 ^ 32-1
# defaults to 1 if the master - the host is not set
# but will not function as a master if omitted
Server - id=1
# master - host=192.168.2.81
# master - user=gl
# master - password=123456
# master - port=3306
# master - connect - retry=60
# binlog - do - db=dbone
# binlog - ignore - db=information_schema
# binlog - ignore - db=mysql
# replicate - do - db=dbone
# replicate - ignore - db=mysql, information_schema
# the Replication Slave (comment out the master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods:
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
# the syntax is:
#
# CHANGE MASTER TO MASTER_HOST=& lt; Host> , MASTER_PORT=& lt; Port> ,
# MASTER_USER=& lt; User> , MASTER_PASSWORD=& lt; Password> ;
#
# where you replace & lt; Host> , , By quoted strings and
# & lt; Port> By the master 's port number (3306 by default).
#
# Example:
#
# CHANGE MASTER TO MASTER_HOST='125.564.12.1, MASTER_PORT=3306,
# MASTER_USER='Joe, MASTER_PASSWORD=' secret ';
#
# OR
#
# 2) Set the variables below. Or, in case you choose this method, then the
# start replication for the first time (even unsuccessfully, for example
# if you mistyped the password in the master - the password and the slave fails to
# connect), the slave will create a master info file, and any later
# change in this file to the variables' values below will be ignored and
# overridden by the content of the master. The info file, unless you shutdown
nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull
  • Related