[Discussion] Nhờ tuning apache và mysql cho website |
06/01/2012 19:52:14 (+0700) | #1 | 251988 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
Chào các anh chị !
Em có 1 vấn đề khó khăn mong các anh chị giúp đỡ.
Tình hình là cty em có 1 website chạy Apache-Mysql-Php, cùng lúc lượng người truy cập tầm khoảng 300-400 người
Cấu hình Server: 2 Server IBM x3650 M3 :Intel(R) Xeon(R) QuadCore E5506 @ 2.13GHz, 4Gb Ram,trong đó 1 con chạy Mysql và 1 chạy Apache-Php.Cả 2 đều chạy CentOS 5.7
Tình trạng hiện tại là khi có khoảng 200-300 kết nối thì cả 2 Server đều load Cpu và Ram rất cao,web vào rất chậm và chập chờn.Trong đó Server Mysql khi CPU load đến 50% là website load rất chậm,có khi ko vào được.
Còn Server Apache thì cũng ko khá hơn,chạy hết Ram,sử dụng luôn Ram Swap và hay bị treo.Em gắn thêm 4Gb cho Server Apache thì tình hình cũng chỉ đỡ hơn tí xíu,nhưng lúc lương truy cập nhiều thì vẫn khó vào.Sau đó em lấy lấy con Server khác cũng cấu hình tương tự cài Window 2003 chạy Mysql tuy nhiên tình hình vẫn ko cải tiến,mysql load Cpu rất cao,có lúc lên tới 80,90%.
Sau đó em cài mysql lên Server Apache Ram 8Gb thì việc truy cập nhanh hơn,tuy nhiên khi số lương truy cập khoảng hơn 300 là Server hay bị treo,truy cập web lúc nhanh lúc chậm,đôi lúc ko vào được
Em còn ít kinh nghiệm về cấu hình Apache và Mysql nên mong mọi người giúp đỡ em tuning sao cho hợp lý.Cần thông tin gì mọi người cứ nói em sẽ show lên.
Sau đây là file config của apache:
[root@www2 ~]# httpd -M
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
authz_host_module (shared)
log_config_module (shared)
deflate_module (shared)
headers_module (shared)
setenvif_module (shared)
mime_module (shared)
autoindex_module (shared)
negotiation_module (shared)
dir_module (shared)
alias_module (shared)
rewrite_module (shared)
cache_module (shared)
suexec_module (shared)
disk_cache_module (shared)
file_cache_module (shared)
mem_cache_module (shared)
php5_module (shared)
Syntax OK
Timeout 120
#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On
#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 300
#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 5
</IfModule>
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 700
MaxClients 700
MaxRequestsPerChild 1000
Và file my.cnf
[mysqld_safe]
nice = -15
[client]
socket = /var/lib/mysql/mysql.sock
default-character-set = utf8
[mysqld]
## Charset and Collation
#character-set-server = utf8
#collation-server = utf8_general_ci
## Files
back_log = 300
open-files-limit = 8192
open-files = 1024
port = 3306
socket = /var/lib/mysql/mysql.sock
pid-file = /var/lib/mysql/mysql.pid
skip-external-locking
skip-name-resolve
#skip-bdb
#skip-innodb
## Logging
datadir = /var/lib/mysql
relay_log = mysql-relay-bin
relay_log_index = mysql-relay-index
#log = mysql-gen.log
log_error = mysql-error.err
log_warnings
log_bin = mysql-bin
log_slow_queries = mysql-slow.log
#log_queries_not_using_indexes
long_query_time = 10 #default: 10
max_binlog_size = 256M #max size for binlog before rolling
expire_logs_days = 4 #binlog files older than this will be purged
## Per-Thread Buffers * (max_connections) = total per-thread mem usage
thread_stack = 256K #default: 32bit: 192K, 64bit: 256K
sort_buffer_size = 512K #default: 2M, larger may cause perf issues
read_buffer_size = 512K #default: 128K, change in increments of 4K
read_rnd_buffer_size = 512K #default: 256K
join_buffer_size = 512K #default: 128K
binlog_cache_size = 64K #default: 32K, size of buffer to hold TX queries
## total per-thread buffer memory usage: 2368000K = 2.312GB
## Query Cache
query_cache_size = 128M #global buffer
query_cache_limit = 2M #max query result size to put in cache
## Connections
max_connections = 500 #multiplier for memory usage via per-thread buffers
max_connect_errors = 1000 #default: 10
concurrent_insert = 2 #default: 1, 2: enable insert for all instances
connect_timeout = 30 #default -5.1.22: 5, +5.1.22: 10
max_allowed_packet = 32M #max size of incoming data to allow
## Default Table Settings
sql_mode = NO_AUTO_CREATE_USER
## Table and TMP settings
max_heap_table_size = 1G #recommend same size as tmp_table_size
bulk_insert_buffer_size = 1G #recommend same size as tmp_table_size
tmp_table_size = 1G #recommend 1G min
#tmpdir = /data/mysql-tmp0:/data/mysql-tmp1 #Recommend using RAMDISK for tmpdir
## Table cache settings
#table_cache = 512 #5.0.x <default: 64>
#table_open_cache = 512 #5.1.x, 5.5.x <default: 64>
## Thread settings
thread_concurrency = 12 #recommend 2x CPU cores
thread_cache_size = 100 #recommend 5% of max_connections
## MyISAM Engine
key_buffer = 16M #global buffer
myisam_sort_buffer_size = 128M #index buffer size for creating/altering indexes
myisam_max_sort_file_size = 256M #max file size for tmp table when creating/alering indexes
myisam_repair_threads = 4 #thread quantity when running repairs
myisam_recover = BACKUP #repair mode, recommend BACKUP
[mysqldump]
quick
quote-names
max_allowed_packet = 128M
Và đây là một số slow_query_log của Mysql
Time Id Command Argument
# Time: 120106 14:28:01
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 90.466792 Lock_time: 0.000031 Rows_sent: 0 Rows_examined: 0
use webdmcl2012;
SET timestamp=1325834881;
insert into tbltagitem(idtag,iditem) values('149','1880');
# Time: 120106 14:28:44
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 39.181068 Lock_time: 0.000040 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325834924;
insert into tbltagitem(idtag,iditem) values('350','1880');
# Time: 120106 14:32:00
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 19.280165 Lock_time: 0.000048 Rows_sent: 8 Rows_examined: 3430
SET timestamp=1325835120;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1830';
# Time: 120106 14:32:19
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 13.799876 Lock_time: 0.000043 Rows_sent: 7 Rows_examined: 3429
SET timestamp=1325835139;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1695';
# Time: 120106 14:33:32
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 17.980278 Lock_time: 0.000043 Rows_sent: 12 Rows_examined: 3434
SET timestamp=1325835212;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='2086';
# Time: 120106 14:34:11
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 14.364860 Lock_time: 0.000051 Rows_sent: 12 Rows_examined: 3434
SET timestamp=1325835251;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='2068';
# Time: 120106 14:36:13
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 16.224084 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325835373;
SET NAMES latin1;
# Time: 120106 14:39:14
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 24.515266 Lock_time: 0.000052 Rows_sent: 0 Rows_examined: 3423
SET timestamp=1325835554;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='15';
# Time: 120106 14:39:16
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 26.570265 Lock_time: 0.000043 Rows_sent: 6 Rows_examined: 3429
SET timestamp=1325835556;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='2183';
# Time: 120106 14:40:19
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 10.427749 Lock_time: 0.000039 Rows_sent: 1 Rows_examined: 1
SET timestamp=1325835619;
select groupid from tblnode where ID='2183';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 10.682789 Lock_time: 0.000062 Rows_sent: 12 Rows_examined: 3435
SET timestamp=1325835619;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='2190';
# Time: 120106 14:41:23
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 10.379505 Lock_time: 0.000041 Rows_sent: 1 Rows_examined: 3
SET timestamp=1325835683;
select module from tblconfig where module='_MOST_ONLINE';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 10.671641 Lock_time: 0.000078 Rows_sent: 1 Rows_examined: 1
SET timestamp=1325835683;
select node.ID,node.total_view, node.cateid, node.total_mark, node.
item_related , node.product_related , node.services_related, node.hot_item, node.new_item, node.showchart ,node.status_store,node.`status`, node.url_seo , product.`ID` as productid,product.`brandid`,product.`code`,product.SUK,node.mark,node.num_mark, product.`product_name`,product.`description`, product.intro, product.imgURL, product.base_price, product.VAT, product.VAT,node.flagmark,node.`groupid`,product.created_date,product.modified_date, product.posted_by from tblnode node JOIN prod_product product on node.itemid=product.ID where node.ID='1599' and node.`status`='1';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 10.727754 Lock_time: 0.000079 Rows_sent: 1 Rows_examined: 1
SET timestamp=1325835683;
select node.ID,node.total_view, node.cateid, node.total_mark, node.
item_related , node.product_related , node.services_related, node.hot_item, node.new_item, node.showchart ,node.status_store,node.`status`, node.url_seo , product.`ID` as productid,product.`brandid`,product.`code`,product.SUK,node.mark,node.num_mark, product.`product_name`,product.`description`, product.intro, product.imgURL, product.base_price, product.VAT, product.VAT,node.flagmark,node.`groupid`,product.created_date,product.modified_date, product.posted_by from tblnode node JOIN prod_product product on node.itemid=product.ID where node.ID='1914' and node.`status`='1';
# Time: 120106 14:41:24
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 10.623797 Lock_time: 0.000051 Rows_sent: 12 Rows_examined: 3435
SET timestamp=1325835684;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='2086';
# Time: 120106 14:42:05
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 29.364701 Lock_time: 0.000058 Rows_sent: 0 Rows_examined: 3423
SET timestamp=1325835725;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1831';
# Time: 120106 14:43:03
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 856.113850 Lock_time: 0.000056 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325835783;
insert into tbltagitem(idtag,iditem) values('1850','1880');
# Time: 120106 14:45:28
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 36.158737 Lock_time: 0.000045 Rows_sent: 0 Rows_examined: 3423
SET timestamp=1325835928;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='368';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 30.662376 Lock_time: 0.000046 Rows_sent: 5 Rows_examined: 3428
SET timestamp=1325835928;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1819';
# Time: 120106 14:47:27
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 10.981584 Lock_time: 0.000045 Rows_sent: 0 Rows_examined: 3423
SET timestamp=1325836047;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='3';
# Time: 120106 14:48:07
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 35.594900 Lock_time: 0.000042 Rows_sent: 12 Rows_examined: 3435
SET timestamp=1325836087;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='2094';
/usr/libexec/mysqld, Version: 5.5.19-log (MySQL Community Server (GPL) by Remi). started with:
Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock
Time Id Command Argument
# Time: 120106 16:42:27
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 38.569429 Lock_time: 0.000045 Rows_sent: 0 Rows_examined: 0
use webdmcl2012;
SET timestamp=1325842947;
insert into tbltagitem(idtag,iditem) values('7','2186');
# Time: 120106 16:43:46
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 24.400846 Lock_time: 0.000078 Rows_sent: 8 Rows_examined: 3525
SET timestamp=1325843026;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1358';
# Time: 120106 16:45:04
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 13.395871 Lock_time: 0.000045 Rows_sent: 0 Rows_examined: 3517
SET timestamp=1325843104;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='360';
# Time: 120106 16:46:01
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 212.304229 Lock_time: 0.000037 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325843161;
insert into tbltagitem(idtag,iditem) values('29','2186');
# Time: 120106 16:48:34
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 150.831802 Lock_time: 0.000034 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325843314;
insert into tbltagitem(idtag,iditem) values('1826','2186');
# Time: 120106 16:48:53
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 16.395750 Lock_time: 0.000036 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325843333;
insert into tbltagitem(idtag,iditem) values('1827','2186');
# Time: 120106 16:49:10
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 11.381746 Lock_time: 0.000052 Rows_sent: 8 Rows_examined: 3526
SET timestamp=1325843350;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1358';
# Time: 120106 16:50:23
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 12.085774 Lock_time: 0.000048 Rows_sent: 0 Rows_examined: 3518
SET timestamp=1325843423;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='9';
# Time: 120106 16:50:36
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 15.011915 Lock_time: 0.000051 Rows_sent: 5 Rows_examined: 3523
SET timestamp=1325843436;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1965';
# Time: 120106 16:51:14
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 140.463427 Lock_time: 0.000034 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325843474;
insert into tbltagitem(idtag,iditem) values('1828','2186');
# Time: 120106 17:05:06
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 48.758700 Lock_time: 0.000033 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325844306;
insert into tbltagitem(idtag,iditem) values('1834','2048');
# Time: 120106 17:06:08
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 11.145492 Lock_time: 0.000066 Rows_sent: 8 Rows_examined: 3547
SET timestamp=1325844368;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1823';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 11.651301 Lock_time: 0.000042 Rows_sent: 8 Rows_examined: 3547
SET timestamp=1325844368;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1830';
# Time: 120106 17:06:59
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 17.438633 Lock_time: 0.000048 Rows_sent: 5 Rows_examined: 3544
SET timestamp=1325844419;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1819';
# Time: 120106 17:08:08
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 177.846742 Lock_time: 0.000036 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325844488;
insert into tbltagitem(idtag,iditem) values('1836','2048');
# Time: 120106 17:09:59
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 10.373708 Lock_time: 0.000070 Rows_sent: 1 Rows_examined: 3540
SET timestamp=1325844599;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1817';
# Time: 120106 17:10:19
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 12.031644 Lock_time: 0.000072 Rows_sent: 0 Rows_examined: 3539
SET timestamp=1325844619;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='740';
# Time: 120106 17:10:33
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 142.800805 Lock_time: 0.000035 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325844633;
insert into tbltagitem(idtag,iditem) values('1837','2048');
# Time: 120106 17:10:54
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 18.243695 Lock_time: 0.000035 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325844654;
insert into tbltagitem(idtag,iditem) values('2228','2048');
# Time: 120106 17:15:29
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 22.798022 Lock_time: 0.000037 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325844929;
insert into tbltagitem(idtag,iditem) values('267','2151');
# Time: 120106 17:18:28
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 10.489368 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325845108;
select ID, nodeid, total_amount,min_number,total_stock_availble,total_stock_invisible, `status` from prod_store where nodeid = '1371';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 177.197034 Lock_time: 0.000040 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325845108;
insert into tbltagitem(idtag,iditem) values('1935','2151');
# Time: 120106 17:18:49
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 16.679339 Lock_time: 0.000039 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325845129;
insert into tbltagitem(idtag,iditem) values('1936','2151');
# Time: 120106 17:18:50
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 17.298751 Lock_time: 0.000072 Rows_sent: 0 Rows_examined: 3544
SET timestamp=1325845130;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='17';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 12.425484 Lock_time: 0.000093 Rows_sent: 0 Rows_examined: 3544
SET timestamp=1325845130;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='15';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 11.452584 Lock_time: 0.000089 Rows_sent: 0 Rows_examined: 3544
SET timestamp=1325845130;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1826';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 10.462467 Lock_time: 0.000073 Rows_sent: 0 Rows_examined: 3544
SET timestamp=1325845130;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='16';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 13.397209 Lock_time: 0.000083 Rows_sent: 0 Rows_examined: 3544
SET timestamp=1325845130;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1826';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 15.501181 Lock_time: 0.000087 Rows_sent: 0 Rows_examined: 3544
SET timestamp=1325845130;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='6';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 16.546334 Lock_time: 0.000100 Rows_sent: 0 Rows_examined: 3544
SET timestamp=1325845130;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='16';
# Time: 120106 17:19:04
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 15.265212 Lock_time: 0.000064 Rows_sent: 0 Rows_examined: 3544
SET timestamp=1325845144;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='6';
# Time: 120106 17:19:06
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 19.100990 Lock_time: 0.000048 Rows_sent: 0 Rows_examined: 3544
SET timestamp=1325845146;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='14';
# Time: 120106 17:19:24
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 12.485981 Lock_time: 0.000040 Rows_sent: 12 Rows_examined: 3556
SET timestamp=1325845164;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='2086';
# Time: 120106 17:20:22
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 92.780854 Lock_time: 0.000062 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325845222;
insert into tbltagitem(idtag,iditem) values('1937','2151');
# Time: 120106 17:20:37
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 11.616611 Lock_time: 0.000040 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325845237;
insert into tbltagitem(idtag,iditem) values('1938','2151');
# Time: 120106 17:21:14
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 13.467718 Lock_time: 0.000084 Rows_sent: 1 Rows_examined: 1
SET timestamp=1325845274;
select ID,groupid,username ,birthday,password,gender,fullname,tel,fax,email,company,web,address,province,district,zipcode,country,regis_date,lastlogin ,salt,flgchangepass,mark, expired_date_mark from tblmember where ID>0 and ID='33426' and groupid>0 and `status`=1 order by ID DESC limit 0,50;
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 13.292787 Lock_time: 0.000053 Rows_sent: 1 Rows_examined: 1018
SET timestamp=1325845274;
select discount_type,discount_value,nodeid,stared_date,expired_date,ID from tblpromotion_quickly where nodeid='1959' and stared_date<='1325782800' and expired_date >=1325782800 and discount_value>0;
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 11.821158 Lock_time: 0.000072 Rows_sent: 1 Rows_examined: 1192
SET timestamp=1325845274;
Select attr.attr_name,attr.type_format,attr.compare_on_fontend,attr.visible_on_search , attvalue.code_attr , attvalue.`value` from tblattribute attr left join tblattribute_value attvalue on attr.code=attvalue.code_attr where attr.ID>0 and attvalue.code_attr='LBSD BNC' and attvalue.nodeid='1295' and attr.visible_on_fontend=1;
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 12.782133 Lock_time: 0.000043 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325845274;
update tblnode set `total_view` = `total_view`+1 where ID='0';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 11.121927 Lock_time: 0.000072 Rows_sent: 1 Rows_examined: 1192
SET timestamp=1325845274;
Select attr.attr_name,attr.type_format,attr.compare_on_fontend,attr.visible_on_search , attvalue.code_attr , attvalue.`value` from tblattribute attr left join tblattribute_value attvalue on attr.code=attvalue.code_attr where attr.ID>0 and attvalue.code_attr='gtpc' and attvalue.nodeid='851' and attr.visible_on_fontend=1;
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 12.962766 Lock_time: 0.000051 Rows_sent: 0 Rows_examined: 569
SET timestamp=1325845274;
select cart.`nodeid`,cart.`num`as totalcart from tblshopcart cart where ( cart.username ='uracks9gnunf64lkvo5vu54n81') and cart.`approve`=0 and cart.`type_cart`='cart';
# Time: 120106 17:21:15
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 11.316029 Lock_time: 0.000068 Rows_sent: 7 Rows_examined: 3551
SET timestamp=1325845275;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1963';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 12.371328 Lock_time: 0.000055 Rows_sent: 12 Rows_examined: 3556
SET timestamp=1325845275;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1473';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 13.464558 Lock_time: 0.000045 Rows_sent: 7 Rows_examined: 3551
SET timestamp=1325845275;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1963';
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 10.473615 Lock_time: 0.000056 Rows_sent: 8 Rows_examined: 3552
SET timestamp=1325845275;
select tag.tag from tbltag tag JOIN tbltagitem tagitem ON tag.ID= tagitem.idtag where tagitem.iditem='1360';
# Time: 120106 17:21:59
# User@Host: dbdmcl2012[dbdmcl2012] @ localhost []
# Query_time: 74.558878 Lock_time: 0.000058 Rows_sent: 0 Rows_examined: 0
SET timestamp=1325845319;
insert into tbltagitem(idtag,iditem) values('2461','2151');
Đây là lệnh top và netstat của thời điểm bình thường
Code:
top - 21:07:00 up 6:14, 1 user, load average: 6.92, 21.27, 20.04
Tasks: 488 total, 2 running, 485 sleeping, 0 stopped, 1 zombie
Cpu(s): 15.7%us, 4.3%sy, 0.0%ni, 79.5%id, 0.0%wa, 0.0%hi, 0.4%si, 0.0%st
Mem: 8148540k total, 5493504k used, 2655036k free, 35412k buffers
Swap: 16385132k total, 0k used, 16385132k free, 1989912k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5005 mysql 0 -15 980m 246m 6624 S 40.8 3.1 1006:52 mysqld
25606 apache 15 0 202m 17m 3744 S 9.3 0.2 0:00.89 httpd
25334 apache 15 0 199m 14m 3328 S 9.0 0.2 0:02.31 httpd
25515 apache 15 0 202m 16m 3324 S 9.0 0.2 0:00.70 httpd
25531 apache 15 0 200m 15m 3324 S 9.0 0.2 0:00.89 httpd
25680 apache 15 0 200m 15m 3264 S 8.6 0.2 0:00.34 httpd
25140 apache 15 0 201m 15m 3332 S 8.3 0.2 0:03.01 httpd
25433 apache 15 0 200m 15m 3328 S 8.3 0.2 0:00.63 httpd
25548 apache 15 0 201m 15m 3264 S 8.3 0.2 0:01.13 httpd
24719 apache 15 0 201m 16m 3328 S 7.6 0.2 0:01.97 httpd
24918 apache 15 0 203m 16m 3332 S 7.3 0.2 0:03.24 httpd
25654 apache 16 0 202m 16m 3316 R 6.6 0.2 0:00.74 httpd
25551 apache 15 0 199m 14m 3304 S 5.0 0.2 0:00.25 httpd
25670 apache 15 0 201m 15m 3320 S 5.0 0.2 0:00.48 httpd
25490 apache 15 0 201m 15m 3332 S 1.7 0.2 0:01.06 httpd
25620 apache 15 0 201m 16m 3268 S 1.0 0.2 0:00.95 httpd
24850 apache 15 0 202m 16m 3328 S 0.7 0.2 0:03.10 httpd
25294 apache 15 0 0 0 0 Z 0.7 0.0 0:02.48 httpd <defunct>
25506 apache 15 0 201m 16m 3324 S 0.7 0.2 0:00.91 httpd
25610 apache 15 0 193m 5392 1180 S 0.7 0.1 0:00.10 httpd
25634 apache 15 0 202m 16m 3320 S 0.7 0.2 0:00.53 httpd
25666 apache 15 0 200m 14m 3268 S 0.7 0.2 0:00.56 httpd
22204 triit 15 0 90268 1920 1064 S 0.3 0.0 0:00.22 sshd
22799 apache 15 0 202m 16m 3384 S 0.3 0.2 0:14.40 httpd
24366 apache 15 0 202m 17m 3336 S 0.3 0.2 0:06.24 httpd
24459 apache 15 0 203m 17m 3332 S 0.3 0.2 0:05.61 httpd
24584 apache 15 0 199m 14m 3332 S 0.3 0.2 0:07.06 httpd
24663 apache 15 0 201m 16m 3812 S 0.3 0.2 0:06.88 httpd
24757 apache 15 0 199m 14m 3752 S 0.3 0.2 0:03.95 httpd
24923 apache 15 0 200m 15m 3760 S 0.3 0.2 0:03.45 httpd
25011 apache 15 0 200m 15m 3336 S 0.3 0.2 0:03.53 httpd
25083 apache 15 0 201m 16m 3392 S 0.3 0.2 0:03.74 httpd
Code:
[root@www2 ~]# netstat -nat |grep :80 |wc -l
1174
[root@www2 ~]# netstat -an | grep :80 | awk '{print $6}' | sort | uniq -c
224 ESTABLISHED
60 FIN_WAIT1
165 FIN_WAIT2
5 LAST_ACK
1 LISTEN
43 SYN_RECV
619 TIME_WAIT
[root@www2 ~]#
Rất mong mọi ngừoi giúp đỡ em,cả 2 ngày nay em điên cái đầu vì nó. Cảm ơn mọi người trước
|
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
06/01/2012 20:22:28 (+0700) | #2 | 251989 |
|
tranhuuphuoc
Moderator
|
Joined: 05/09/2004 06:08:09
Messages: 865
Location: Lầu Xanh
Offline
|
|
Theo như tôi đoán server này bị SYN attack
Thử dùng cái này (cho TCP)
netstat -nat | sort
netstat -nau | sort (cho UDP)
Nếu muốn chắc ăn thì dùng tcpdump sau đó đem về máy tính của mình dùng Wireshark để phân tích gói tin. |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
06/01/2012 20:51:21 (+0700) | #3 | 251991 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
Cảm ơn a đã giúp đỡ nhưng em nghĩ có lẽ ko phải do bị attack vì website em mới golive có mấy ngày ah.Dùng netstat xem số kết nối SYN là cũng ko nhiều . Mà có lúc nó load rất nhanh, nhưng cũng có lúc load khựng lại rất khó chịu, tình trạng không ổn định,lúc truy cập chậm như vậy thì việc ssh vào cũng rất khó khăn.Em nghĩ là do Mysql Load Cpu lên cao nhưng ko biết tuning làm sao.Mong mọi người giúp đỡ. Thanks |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 08:39:13 (+0700) | #4 | 252007 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
MaxClient và ServerLimit là 700 và mỗi process chiếm cỡ 15Mb thì có nghĩa cần 700 x 15Mb = 10500 (10.5Gb) ram. Trên mysql cho phép max connection là 500 thì tốn thêm 1 mớ memory nữa. Tình trạng bị chậm có lẽ do hết memory và bị swap sang virtual memory rồi.
Nên thử thay apache bằng nginx + php-fpm nếu dùng php và có số lượng lớn truy cập. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 08:47:55 (+0700) | #5 | 252009 |
|
jerrykun
Member
|
0 |
|
|
Joined: 25/02/2011 18:01:09
Messages: 41
Location: error_log
Offline
|
|
Với cấu hình phần cứng của bạn thì 200-300 connection tải bình thường nhưng load average: 6.92, 21.27, 20.04 là cao, bất thường. Bạn hãy tcpdump packets rồi gửi lên đây xem, chắc sẽ có cơ hội nhận được nhiều hồi âm của các chuyên gia phân tích. Mọi người cần nhiều thông tin hơn để phân tích và xác địch nguyên nhân từ bên ngoài hoặc bên trong hệ thống. Không thấy bạn đề cập đến iptables, vậy thử search một số bài về iptables trong hva và áp dụng thử xem. |
|
Health, Knowledge, Family has the same value ! |
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 09:20:25 (+0700) | #6 | 252014 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
conmale wrote:
MaxClient và ServerLimit là 700 và mỗi process chiếm cỡ 15Mb thì có nghĩa cần 700 x 15Mb = 10500 (10.5Gb) ram. Trên mysql cho phép max connection là 500 thì tốn thêm 1 mớ memory nữa. Tình trạng bị chậm có lẽ do hết memory và bị swap sang virtual memory rồi.
Nên thử thay apache bằng nginx + php-fpm nếu dùng php và có số lượng lớn truy cập.
Hiện tại em monitor thì không thấy hết Ram,nhưng lâu lâu nó bị treo không thể login ssh vào được,login trực tiếp server cũng rất khỏ khăn,mỗi lần như vậy em phải tắt ngang server rồi mở lại.Có lẽ là do Cpu load quá cao làm treo Server ? .Còn file log apache thì mới chạy 2 ngày đã 70Gb rồi,không biết nó có ảnh hưởng đến tốc độ truy cập website ko a? Mong a chỉ giúp đỡ
|
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 09:47:45 (+0700) | #7 | 252018 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
jerrykun wrote:
Với cấu hình phần cứng của bạn thì 200-300 connection tải bình thường nhưng load average: 6.92, 21.27, 20.04 là cao, bất thường. Bạn hãy tcpdump packets rồi gửi lên đây xem, chắc sẽ có cơ hội nhận được nhiều hồi âm của các chuyên gia phân tích. Mọi người cần nhiều thông tin hơn để phân tích và xác địch nguyên nhân từ bên ngoài hoặc bên trong hệ thống. Không thấy bạn đề cập đến iptables, vậy thử search một số bài về iptables trong hva và áp dụng thử xem.
Tình trạng là em không xác định được nguyên nhân gây treo server,lúc truy cập vào web mà không được thì em login vào server cũng ko được luôn,login trực tiếp tại server cũng cực kỳ khó khăn,lúc đó em phải tắt ngang server rồi khởi động lại.Em thì đoán do mysql load cao qaĐể khi nào tình trang load cao em sẽ dump file rồi gửi lên nhờ các anh phân tích giúp.
Không hiểu sao lúc web cũ em cấu hình chạy trên IIS với Server Xeon Quadcore 2.4 Ram 2Gb mà chạy rất nhanh, giờ chuyển qua web mới nhiều tính năng hơn 1 tí với Apche Server có cấu hình gấp đôi mà chạy tệ như vậy.
Tình trạng sau khi Server treo
uptime
11:27:14 up 1:47, 1 user, load average: 51.47, 110.89, 74.39
|
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 10:40:35 (+0700) | #8 | 252022 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
Tình trạng Server khi không truy cập website được
Code:
top - 11:38:31 up 1:58, 1 user, load average: 140.79, 104.76, 79.19
Tasks: 449 total, 135 running, 314 sleeping, 0 stopped, 0 zombie
Cpu(s): 46.9%us, 53.1%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8148540k total, 2880820k used, 5267720k free, 15080k buffers
Swap: 16385132k total, 0k used, 16385132k free, 159136k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4640 mysql 0 -15 767m 161m 4948 S 748.5 2.0 412:12.01 mysqld
11227 apache 16 0 213m 16m 3456 R 1.2 0.2 0:01.23 httpd
11453 apache 16 0 213m 16m 3348 R 1.2 0.2 0:00.19 httpd
11330 apache 15 0 213m 16m 3368 R 0.9 0.2 0:00.27 httpd
11395 apache 16 0 213m 16m 3280 R 0.9 0.2 0:00.28 httpd
10870 apache 16 0 213m 16m 3516 R 0.5 0.2 0:01.94 httpd
11121 apache 16 0 213m 17m 4004 R 0.5 0.2 0:01.60 httpd
11165 apache 15 0 212m 16m 3416 R 0.5 0.2 0:00.78 httpd
11176 apache 15 0 213m 16m 3460 R 0.5 0.2 0:01.05 httpd
11361 apache 15 0 213m 16m 3292 R 0.5 0.2 0:00.39 httpd
11479 root 15 0 13024 1392 824 R 0.5 0.0 0:00.14 top
11023 apache 16 0 215m 19m 3452 R 0.3 0.2 0:00.92 httpd
11104 apache 16 0 213m 16m 3472 R 0.3 0.2 0:02.19 httpd
11136 apache 16 0 212m 16m 3472 S 0.3 0.2 0:01.55 httpd
11137 apache 15 0 213m 16m 3416 S 0.3 0.2 0:00.94 httpd
11144 apache 16 0 213m 17m 3528 R 0.3 0.2 0:01.33 httpd
11192 apache 16 0 213m 16m 3540 R 0.3 0.2 0:00.77 httpd
11235 apache 15 0 213m 16m 3464 S 0.3 0.2 0:01.00 httpd
11360 apache 16 0 213m 16m 3356 R 0.3 0.2 0:00.46 httpd
11377 apache 16 0 213m 16m 3224 R 0.3 0.2 0:00.28 httpd
11388 apache 16 0 213m 16m 3300 R 0.3 0.2 0:00.30 httpd
11389 apache 16 0 213m 16m 3320 R 0.3 0.2 0:00.33 httpd
11403 apache 16 0 213m 16m 3208 R 0.3 0.2 0:00.18 httpd
11405 apache 15 0 213m 16m 3244 R 0.3 0.2 0:00.27 httpd
11445 apache 15 0 213m 15m 3276 S 0.3 0.2 0:00.13 httpd
11477 apache 15 0 212m 15m 3136 R 0.3 0.2 0:00.07 httpd
3504 root 10 -5 0 0 0 S 0.2 0.0 0:00.35 kondemand/5
10900 apache 16 0 213m 16m 3516 R 0.2 0.2 0:01.60 httpd
10901 apache 15 0 213m 17m 3560 S 0.2 0.2 0:01.80 httpd
10951 apache 15 0 213m 17m 3496 S 0.2 0.2 0:01.78 httpd
10974 apache 16 0 213m 17m 3476 R 0.2 0.2 0:01.44 httpd
|
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 12:07:34 (+0700) | #9 | 252027 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
pntri85 wrote:
conmale wrote:
MaxClient và ServerLimit là 700 và mỗi process chiếm cỡ 15Mb thì có nghĩa cần 700 x 15Mb = 10500 (10.5Gb) ram. Trên mysql cho phép max connection là 500 thì tốn thêm 1 mớ memory nữa. Tình trạng bị chậm có lẽ do hết memory và bị swap sang virtual memory rồi.
Nên thử thay apache bằng nginx + php-fpm nếu dùng php và có số lượng lớn truy cập.
Hiện tại em monitor thì không thấy hết Ram,nhưng lâu lâu nó bị treo không thể login ssh vào được,login trực tiếp server cũng rất khỏ khăn,mỗi lần như vậy em phải tắt ngang server rồi mở lại.Có lẽ là do Cpu load quá cao làm treo Server ? .Còn file log apache thì mới chạy 2 ngày đã 70Gb rồi,không biết nó có ảnh hưởng đến tốc độ truy cập website ko a? Mong a chỉ giúp đỡ
Nếu bị tình trạng "treo" đến độ không SSH vô được thì giả thuyết tớ đưa ra càng khẳng định trên 90% là đúng. Đây là hiện tượng hết physical memory và bị swap và mỗi khi tình trạng này xảy ra thì CPU vọt lên cực cao vì nó phải lo liệu cho việc swap in và swap out.
Hạ bớt maxClient, maxKeepAlive và KeepAliveTimeOut. Nếu không thì chuyển qua dùng nginx như đã đề nghị. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 12:35:43 (+0700) | #10 | 252029 |
|
Ikut3
Elite Member
|
0 |
|
|
Joined: 24/09/2007 23:47:03
Messages: 1429
Location: Nhà hát lớn
Offline
|
|
@ Chú conmale : Cháu đang nghĩ nếu trong trường hợp này có 1 Reverse proxy như Ngnix đứng trước làm caching static file thì có khả thi không ạ ?
Tức là 2 server của bạn này 1 server đóng vai trò làm reverse proxy và 1 server LAMP đứng sau |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 13:16:40 (+0700) | #11 | 252034 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Ikut3 wrote:
@ Chú conmale : Cháu đang nghĩ nếu trong trường hợp này có 1 Reverse proxy như Ngnix đứng trước làm caching static file thì có khả thi không ạ ?
Tức là 2 server của bạn này 1 server đóng vai trò làm reverse proxy và 1 server LAMP đứng sau
Cái khổ ở đây là chính dịch vụ apache không đủ tài nguyên để phục vụ. Cho dù có nginx đứng trước làm proxy đi chăng nữa mà có 10000 requests đi vô thì thằng nginx vẫn forward vô trong cho thằng apache xử lý ---> vẫn thiếu tài nguyên. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 13:26:44 (+0700) | #12 | 252035 |
|
azteam
Member
|
0 |
|
|
Joined: 17/03/2007 21:12:46
Messages: 177
Location: /dev/null
Offline
|
|
Theo các dữ liệu bạn đưa thì khả năng bạn nên tập trung vào kiểm tra cái code và database mà website của bạn đang sử dụng. Tại thời điểm treo tôi không thấy memory bị sử dụng hết mà hết CPU. Mysql có nhiều slow query, chiếm quá nhiều CPU. |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 13:29:38 (+0700) | #13 | 252036 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
conmale wrote:
pntri85 wrote:
conmale wrote:
MaxClient và ServerLimit là 700 và mỗi process chiếm cỡ 15Mb thì có nghĩa cần 700 x 15Mb = 10500 (10.5Gb) ram. Trên mysql cho phép max connection là 500 thì tốn thêm 1 mớ memory nữa. Tình trạng bị chậm có lẽ do hết memory và bị swap sang virtual memory rồi.
Nên thử thay apache bằng nginx + php-fpm nếu dùng php và có số lượng lớn truy cập.
Hiện tại em monitor thì không thấy hết Ram,nhưng lâu lâu nó bị treo không thể login ssh vào được,login trực tiếp server cũng rất khỏ khăn,mỗi lần như vậy em phải tắt ngang server rồi mở lại.Có lẽ là do Cpu load quá cao làm treo Server ? .Còn file log apache thì mới chạy 2 ngày đã 70Gb rồi,không biết nó có ảnh hưởng đến tốc độ truy cập website ko a? Mong a chỉ giúp đỡ
Nếu bị tình trạng "treo" đến độ không SSH vô được thì giả thuyết tớ đưa ra càng khẳng định trên 90% là đúng. Đây là hiện tượng hết physical memory và bị swap và mỗi khi tình trạng này xảy ra thì CPU vọt lên cực cao vì nó phải lo liệu cho việc swap in và swap out.
Hạ bớt maxClient, maxKeepAlive và KeepAliveTimeOut. Nếu không thì chuyển qua dùng nginx như đã đề nghị.
Em đã hạ MaxClient còn 500 , MaxKeepAliveRequests=100 còn KeepAliveTimeOut=3, bên cạnh đó em cũng chạy crontab script để tự động kill mysql query slow . Không biết tình hình có ổn ko nữa vì hiện tại do ít người truy cập nên ko đánh giá được. Cảm ơn anh đã tư vấn, có gì em còn nhờ anh nữa,hihi. |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 14:15:22 (+0700) | #14 | 252039 |
|
jerrykun
Member
|
0 |
|
|
Joined: 25/02/2011 18:01:09
Messages: 41
Location: error_log
Offline
|
|
Mình không dám khẳng định bạn là nạn nhân của Slowloris HTTP DoS hay không nhưng mình nhận thấy có 1 sự liên quan vấn đề của bạn với chủ đề đã thảo luận về Slowloris trên HVA
So Sánh [#2] /hvaonline/posts/list/29851.html
Và
[root@www2 ~]# netstat -nat |grep :80 |wc -l
1174
[root@www2 ~]# netstat -an | grep :80 | awk '{print $6}' | sort | uniq -c
224 ESTABLISHED
60 FIN_WAIT1
165 FIN_WAIT2
5 LAST_ACK
1 LISTEN
43 SYN_RECV
619 TIME_WAIT
[root@www2 ~]#
Lúc trước mình có tấn công vào máy chủ của mình với phương pháp trên, quả thật chỉ vài giây nó sụp luôn và không thể ssh vào server. |
|
Health, Knowledge, Family has the same value ! |
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 14:23:13 (+0700) | #15 | 252040 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
jerrykun wrote:
Mình không dám khẳng định bạn là nạn nhân của Slowloris HTTP DoS hay không nhưng mình nhận thấy có 1 sự liên quan vấn đề của bạn với chủ đề đã thảo luận về Slowloris trên HVA
So Sánh [#2] /hvaonline/posts/list/29851.html
Và
[root@www2 ~]# netstat -nat |grep :80 |wc -l
1174
[root@www2 ~]# netstat -an | grep :80 | awk '{print $6}' | sort | uniq -c
224 ESTABLISHED
60 FIN_WAIT1
165 FIN_WAIT2
5 LAST_ACK
1 LISTEN
43 SYN_RECV
619 TIME_WAIT
[root@www2 ~]#
Lúc trước mình có tấn công vào máy chủ của mình với phương pháp trên, quả thật chỉ vài giây nó sụp luôn và không thể ssh vào server.
Hi bạn , nếu bị dính Slowloris thì ko đến nổi server bị treo,vì nó chỉ làm tăng hết maxclient thôi,còn tình trạng mình bị là khi truy cập hơi nhiều là server bị treo,ko làm gì được cả mặc dù tài nguyên máy chủ mình cũng khá mạnh .Với lại cái kết quả netstat trên là lúc server mình đang bình thường.Thanks |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
07/01/2012 17:52:17 (+0700) | #16 | 252046 |
shuichi_akai
Elite Member
|
0 |
|
|
Joined: 12/10/2003 10:40:06
Messages: 161
Location: /home
Offline
|
|
Code:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4640 mysql 0 -15 767m 161m 4948 S 748.5 2.0 412:12.01 mysqld
Mình nghĩ bạn nên tìm hiểu từ source code ra vì sao mà MySQL tốn quá nhiều tài nguyên và chiếm CPU quá lâu như vậy?
Nếu bạn có daily backup job thì mình đề xuất sau khi backup DB xong nên stop và start lại MySQL để tránh việc CPU bị chiếm dụng quá lâu. |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
08/01/2012 05:22:27 (+0700) | #17 | 252060 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
pntri85 wrote:
Tình trạng Server khi không truy cập website được
top - 11:38:31 up 1:58, 1 user, load average: 140.79, 104.76, 79.19
Tasks: 449 total, 135 running, 314 sleeping, 0 stopped, 0 zombie
Cpu(s): 46.9%us, 53.1%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8148540k total, 2880820k used, 5267720k free, 15080k buffers
Swap: 16385132k total, 0k used, 16385132k free, 159136k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4640 mysql 0 -15 767m 161m 4948 S 748.5 2.0 412:12.01 mysqld
11227 apache 16 0 213m 16m 3456 R 1.2 0.2 0:01.23 httpd
11453 apache 16 0 213m 16m 3348 R 1.2 0.2 0:00.19 httpd
11330 apache 15 0 213m 16m 3368 R 0.9 0.2 0:00.27 httpd
11395 apache 16 0 213m 16m 3280 R 0.9 0.2 0:00.28 httpd
10870 apache 16 0 213m 16m 3516 R 0.5 0.2 0:01.94 httpd
11121 apache 16 0 213m 17m 4004 R 0.5 0.2 0:01.60 httpd
11165 apache 15 0 212m 16m 3416 R 0.5 0.2 0:00.78 httpd
11176 apache 15 0 213m 16m 3460 R 0.5 0.2 0:01.05 httpd
11361 apache 15 0 213m 16m 3292 R 0.5 0.2 0:00.39 httpd
11479 root 15 0 13024 1392 824 R 0.5 0.0 0:00.14 top
11023 apache 16 0 215m 19m 3452 R 0.3 0.2 0:00.92 httpd
11104 apache 16 0 213m 16m 3472 R 0.3 0.2 0:02.19 httpd
11136 apache 16 0 212m 16m 3472 S 0.3 0.2 0:01.55 httpd
11137 apache 15 0 213m 16m 3416 S 0.3 0.2 0:00.94 httpd
11144 apache 16 0 213m 17m 3528 R 0.3 0.2 0:01.33 httpd
11192 apache 16 0 213m 16m 3540 R 0.3 0.2 0:00.77 httpd
11235 apache 15 0 213m 16m 3464 S 0.3 0.2 0:01.00 httpd
11360 apache 16 0 213m 16m 3356 R 0.3 0.2 0:00.46 httpd
11377 apache 16 0 213m 16m 3224 R 0.3 0.2 0:00.28 httpd
11388 apache 16 0 213m 16m 3300 R 0.3 0.2 0:00.30 httpd
11389 apache 16 0 213m 16m 3320 R 0.3 0.2 0:00.33 httpd
11403 apache 16 0 213m 16m 3208 R 0.3 0.2 0:00.18 httpd
11405 apache 15 0 213m 16m 3244 R 0.3 0.2 0:00.27 httpd
11445 apache 15 0 213m 15m 3276 S 0.3 0.2 0:00.13 httpd
11477 apache 15 0 212m 15m 3136 R 0.3 0.2 0:00.07 httpd
3504 root 10 -5 0 0 0 S 0.2 0.0 0:00.35 kondemand/5
10900 apache 16 0 213m 16m 3516 R 0.2 0.2 0:01.60 httpd
10901 apache 15 0 213m 17m 3560 S 0.2 0.2 0:01.80 httpd
10951 apache 15 0 213m 17m 3496 S 0.2 0.2 0:01.78 httpd
10974 apache 16 0 213m 17m 3476 R 0.2 0.2 0:01.44 httpd
Dòng màu đỏ chứng tỏ mysql có vấn đề nghiêm trọng. Cần phải turn on "--log-slow-queries" để điều tra xem những queries nào tạo sự cố và từ đó mới khắc phục được. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
08/01/2012 10:51:24 (+0700) | #18 | 252070 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
conmale wrote:
pntri85 wrote:
Tình trạng Server khi không truy cập website được
top - 11:38:31 up 1:58, 1 user, load average: 140.79, 104.76, 79.19
Tasks: 449 total, 135 running, 314 sleeping, 0 stopped, 0 zombie
Cpu(s): 46.9%us, 53.1%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8148540k total, 2880820k used, 5267720k free, 15080k buffers
Swap: 16385132k total, 0k used, 16385132k free, 159136k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4640 mysql 0 -15 767m 161m 4948 S 748.5 2.0 412:12.01 mysqld
11227 apache 16 0 213m 16m 3456 R 1.2 0.2 0:01.23 httpd
11453 apache 16 0 213m 16m 3348 R 1.2 0.2 0:00.19 httpd
11330 apache 15 0 213m 16m 3368 R 0.9 0.2 0:00.27 httpd
11395 apache 16 0 213m 16m 3280 R 0.9 0.2 0:00.28 httpd
10870 apache 16 0 213m 16m 3516 R 0.5 0.2 0:01.94 httpd
11121 apache 16 0 213m 17m 4004 R 0.5 0.2 0:01.60 httpd
11165 apache 15 0 212m 16m 3416 R 0.5 0.2 0:00.78 httpd
11176 apache 15 0 213m 16m 3460 R 0.5 0.2 0:01.05 httpd
11361 apache 15 0 213m 16m 3292 R 0.5 0.2 0:00.39 httpd
11479 root 15 0 13024 1392 824 R 0.5 0.0 0:00.14 top
11023 apache 16 0 215m 19m 3452 R 0.3 0.2 0:00.92 httpd
11104 apache 16 0 213m 16m 3472 R 0.3 0.2 0:02.19 httpd
11136 apache 16 0 212m 16m 3472 S 0.3 0.2 0:01.55 httpd
11137 apache 15 0 213m 16m 3416 S 0.3 0.2 0:00.94 httpd
11144 apache 16 0 213m 17m 3528 R 0.3 0.2 0:01.33 httpd
11192 apache 16 0 213m 16m 3540 R 0.3 0.2 0:00.77 httpd
11235 apache 15 0 213m 16m 3464 S 0.3 0.2 0:01.00 httpd
11360 apache 16 0 213m 16m 3356 R 0.3 0.2 0:00.46 httpd
11377 apache 16 0 213m 16m 3224 R 0.3 0.2 0:00.28 httpd
11388 apache 16 0 213m 16m 3300 R 0.3 0.2 0:00.30 httpd
11389 apache 16 0 213m 16m 3320 R 0.3 0.2 0:00.33 httpd
11403 apache 16 0 213m 16m 3208 R 0.3 0.2 0:00.18 httpd
11405 apache 15 0 213m 16m 3244 R 0.3 0.2 0:00.27 httpd
11445 apache 15 0 213m 15m 3276 S 0.3 0.2 0:00.13 httpd
11477 apache 15 0 212m 15m 3136 R 0.3 0.2 0:00.07 httpd
3504 root 10 -5 0 0 0 S 0.2 0.0 0:00.35 kondemand/5
10900 apache 16 0 213m 16m 3516 R 0.2 0.2 0:01.60 httpd
10901 apache 15 0 213m 17m 3560 S 0.2 0.2 0:01.80 httpd
10951 apache 15 0 213m 17m 3496 S 0.2 0.2 0:01.78 httpd
10974 apache 16 0 213m 17m 3476 R 0.2 0.2 0:01.44 httpd
Dòng màu đỏ chứng tỏ mysql có vấn đề nghiêm trọng. Cần phải turn on "--log-slow-queries" để điều tra xem những queries nào tạo sự cố và từ đó mới khắc phục được.
Trong log slow query em đã post lên thì có rất nhiều query có thời gian rất lâu,tuy nhiên em nghỉ là do mysql quá tải ko xử lý kịp nên bị delay lâu như vậy,vì khi bình thường thì trong log ko có slow query.Tạm thời em đã stop server để chạy lại web cũ trên IIS lúc trước,Có lẻ em phải build lại từ đầu apache-mysql thử xem.Anh và mọi người có thể giúp em tuning cấu hình Apache và Mysql sao cho hợp lý ko?Database em sử dụng MyISAM. Thanks a và mọi người trước. |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
08/01/2012 12:17:36 (+0700) | #19 | 252074 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
pntri85 wrote:
conmale wrote:
pntri85 wrote:
Tình trạng Server khi không truy cập website được
top - 11:38:31 up 1:58, 1 user, load average: 140.79, 104.76, 79.19
Tasks: 449 total, 135 running, 314 sleeping, 0 stopped, 0 zombie
Cpu(s): 46.9%us, 53.1%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8148540k total, 2880820k used, 5267720k free, 15080k buffers
Swap: 16385132k total, 0k used, 16385132k free, 159136k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4640 mysql 0 -15 767m 161m 4948 S 748.5 2.0 412:12.01 mysqld
11227 apache 16 0 213m 16m 3456 R 1.2 0.2 0:01.23 httpd
11453 apache 16 0 213m 16m 3348 R 1.2 0.2 0:00.19 httpd
11330 apache 15 0 213m 16m 3368 R 0.9 0.2 0:00.27 httpd
11395 apache 16 0 213m 16m 3280 R 0.9 0.2 0:00.28 httpd
10870 apache 16 0 213m 16m 3516 R 0.5 0.2 0:01.94 httpd
11121 apache 16 0 213m 17m 4004 R 0.5 0.2 0:01.60 httpd
11165 apache 15 0 212m 16m 3416 R 0.5 0.2 0:00.78 httpd
11176 apache 15 0 213m 16m 3460 R 0.5 0.2 0:01.05 httpd
11361 apache 15 0 213m 16m 3292 R 0.5 0.2 0:00.39 httpd
11479 root 15 0 13024 1392 824 R 0.5 0.0 0:00.14 top
11023 apache 16 0 215m 19m 3452 R 0.3 0.2 0:00.92 httpd
11104 apache 16 0 213m 16m 3472 R 0.3 0.2 0:02.19 httpd
11136 apache 16 0 212m 16m 3472 S 0.3 0.2 0:01.55 httpd
11137 apache 15 0 213m 16m 3416 S 0.3 0.2 0:00.94 httpd
11144 apache 16 0 213m 17m 3528 R 0.3 0.2 0:01.33 httpd
11192 apache 16 0 213m 16m 3540 R 0.3 0.2 0:00.77 httpd
11235 apache 15 0 213m 16m 3464 S 0.3 0.2 0:01.00 httpd
11360 apache 16 0 213m 16m 3356 R 0.3 0.2 0:00.46 httpd
11377 apache 16 0 213m 16m 3224 R 0.3 0.2 0:00.28 httpd
11388 apache 16 0 213m 16m 3300 R 0.3 0.2 0:00.30 httpd
11389 apache 16 0 213m 16m 3320 R 0.3 0.2 0:00.33 httpd
11403 apache 16 0 213m 16m 3208 R 0.3 0.2 0:00.18 httpd
11405 apache 15 0 213m 16m 3244 R 0.3 0.2 0:00.27 httpd
11445 apache 15 0 213m 15m 3276 S 0.3 0.2 0:00.13 httpd
11477 apache 15 0 212m 15m 3136 R 0.3 0.2 0:00.07 httpd
3504 root 10 -5 0 0 0 S 0.2 0.0 0:00.35 kondemand/5
10900 apache 16 0 213m 16m 3516 R 0.2 0.2 0:01.60 httpd
10901 apache 15 0 213m 17m 3560 S 0.2 0.2 0:01.80 httpd
10951 apache 15 0 213m 17m 3496 S 0.2 0.2 0:01.78 httpd
10974 apache 16 0 213m 17m 3476 R 0.2 0.2 0:01.44 httpd
Dòng màu đỏ chứng tỏ mysql có vấn đề nghiêm trọng. Cần phải turn on "--log-slow-queries" để điều tra xem những queries nào tạo sự cố và từ đó mới khắc phục được.
Trong log slow query em đã post lên thì có rất nhiều query có thời gian rất lâu,tuy nhiên em nghỉ là do mysql quá tải ko xử lý kịp nên bị delay lâu như vậy,vì khi bình thường thì trong log ko có slow query.Tạm thời em đã stop server để chạy lại web cũ trên IIS lúc trước,Có lẻ em phải build lại từ đầu apache-mysql thử xem.Anh và mọi người có thể giúp em tuning cấu hình Apache và Mysql sao cho hợp lý ko?Database em sử dụng MyISAM. Thanks a và mọi người trước.
Đây là vấn đề hiệu xuất của chuyện truy vấn chớ không phải vấn đề tunning. Tune tới mức nào đó mà các câu truy vấn quá luôm thuộm, thiếu hiệu suất (ví dụ có quá nhiều sub-queries) thì chậm vẫn chậm. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
09/01/2012 15:40:16 (+0700) | #20 | 252140 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
conmale wrote:
pntri85 wrote:
conmale wrote:
pntri85 wrote:
Tình trạng Server khi không truy cập website được
top - 11:38:31 up 1:58, 1 user, load average: 140.79, 104.76, 79.19
Tasks: 449 total, 135 running, 314 sleeping, 0 stopped, 0 zombie
Cpu(s): 46.9%us, 53.1%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8148540k total, 2880820k used, 5267720k free, 15080k buffers
Swap: 16385132k total, 0k used, 16385132k free, 159136k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4640 mysql 0 -15 767m 161m 4948 S 748.5 2.0 412:12.01 mysqld
11227 apache 16 0 213m 16m 3456 R 1.2 0.2 0:01.23 httpd
11453 apache 16 0 213m 16m 3348 R 1.2 0.2 0:00.19 httpd
11330 apache 15 0 213m 16m 3368 R 0.9 0.2 0:00.27 httpd
11395 apache 16 0 213m 16m 3280 R 0.9 0.2 0:00.28 httpd
10870 apache 16 0 213m 16m 3516 R 0.5 0.2 0:01.94 httpd
11121 apache 16 0 213m 17m 4004 R 0.5 0.2 0:01.60 httpd
11165 apache 15 0 212m 16m 3416 R 0.5 0.2 0:00.78 httpd
11176 apache 15 0 213m 16m 3460 R 0.5 0.2 0:01.05 httpd
11361 apache 15 0 213m 16m 3292 R 0.5 0.2 0:00.39 httpd
11479 root 15 0 13024 1392 824 R 0.5 0.0 0:00.14 top
11023 apache 16 0 215m 19m 3452 R 0.3 0.2 0:00.92 httpd
11104 apache 16 0 213m 16m 3472 R 0.3 0.2 0:02.19 httpd
11136 apache 16 0 212m 16m 3472 S 0.3 0.2 0:01.55 httpd
11137 apache 15 0 213m 16m 3416 S 0.3 0.2 0:00.94 httpd
11144 apache 16 0 213m 17m 3528 R 0.3 0.2 0:01.33 httpd
11192 apache 16 0 213m 16m 3540 R 0.3 0.2 0:00.77 httpd
11235 apache 15 0 213m 16m 3464 S 0.3 0.2 0:01.00 httpd
11360 apache 16 0 213m 16m 3356 R 0.3 0.2 0:00.46 httpd
11377 apache 16 0 213m 16m 3224 R 0.3 0.2 0:00.28 httpd
11388 apache 16 0 213m 16m 3300 R 0.3 0.2 0:00.30 httpd
11389 apache 16 0 213m 16m 3320 R 0.3 0.2 0:00.33 httpd
11403 apache 16 0 213m 16m 3208 R 0.3 0.2 0:00.18 httpd
11405 apache 15 0 213m 16m 3244 R 0.3 0.2 0:00.27 httpd
11445 apache 15 0 213m 15m 3276 S 0.3 0.2 0:00.13 httpd
11477 apache 15 0 212m 15m 3136 R 0.3 0.2 0:00.07 httpd
3504 root 10 -5 0 0 0 S 0.2 0.0 0:00.35 kondemand/5
10900 apache 16 0 213m 16m 3516 R 0.2 0.2 0:01.60 httpd
10901 apache 15 0 213m 17m 3560 S 0.2 0.2 0:01.80 httpd
10951 apache 15 0 213m 17m 3496 S 0.2 0.2 0:01.78 httpd
10974 apache 16 0 213m 17m 3476 R 0.2 0.2 0:01.44 httpd
Dòng màu đỏ chứng tỏ mysql có vấn đề nghiêm trọng. Cần phải turn on "--log-slow-queries" để điều tra xem những queries nào tạo sự cố và từ đó mới khắc phục được.
Trong log slow query em đã post lên thì có rất nhiều query có thời gian rất lâu,tuy nhiên em nghỉ là do mysql quá tải ko xử lý kịp nên bị delay lâu như vậy,vì khi bình thường thì trong log ko có slow query.Tạm thời em đã stop server để chạy lại web cũ trên IIS lúc trước,Có lẻ em phải build lại từ đầu apache-mysql thử xem.Anh và mọi người có thể giúp em tuning cấu hình Apache và Mysql sao cho hợp lý ko?Database em sử dụng MyISAM. Thanks a và mọi người trước.
Đây là vấn đề hiệu xuất của chuyện truy vấn chớ không phải vấn đề tunning. Tune tới mức nào đó mà các câu truy vấn quá luôm thuộm, thiếu hiệu suất (ví dụ có quá nhiều sub-queries) thì chậm vẫn chậm.
Chào anh,có 1 vấn đề em muốn tham khảo a, hiện tại khi em chạy lại website cũ trên IIS 6 Window 2k3 với Sever có cấu hình QuadCore Ram có 2Gb thì em thấy khả năng xử lý của IIS rất cao,số lương kết nối khi em chạy các lệnh sau:
C:\Documents and Settings\Administrator>netstat -a -n | find /i "ESTABLISHED" |find /c "116.59.199.125:80"
909
C:\Documents and Settings\Administrator>netstat -a -n | find /i "ESTABLISHED" |find /c "116.59.199.125:80"
899
C:\Documents and Settings\Administrator>netstat -a -n | find /c "116.59.199.125:80"
1725
C:\Documents and Settings\Administrator>
Lúc này Server vẫn chạy rất ok,Ram chỉ chiếm khoảng gần 700Mb.tốc độ load web rất nhanh,mà trong tính toán của anh ở trên về số lượng Ram khi Apache hoạt động thì thấy nếu với số lượng kết nối trên mà sử dụng Apache trên server cùng cấu hình thì chắc chắn sẽ ko đủ Ram.Không lẻ IIS chịu tải cao hơn Apache sao? Mong anh giải đáp thắc mắc này giúp em. |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
09/01/2012 15:54:20 (+0700) | #21 | 252141 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Tuỳ em chạy "cái gì" trên IIS/Windows và "cái gì" trên Apache/Linux.
Nếu em chạy php trên IIS/Windows và thấy nó "tốt" hơn trên Apache/Linux thì em cần tìm hiểu sự khác biệt của hai cấu trúc, thâm chí sự khác biệt của php trên Windows/IIS so với php trên Apache/Linux ở dạng "prefork".
Em nói chung chung quá, không thể trả lời cho cụ thể được. Nếu cần so sánh, em nên đưa ra cụ thể bảng so sánh của 2 bên kể cả cấu hình, công nghệ, cách điều chỉnh...v...v.... |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
09/01/2012 16:13:41 (+0700) | #22 | 252144 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
conmale wrote:
Tuỳ em chạy "cái gì" trên IIS/Windows và "cái gì" trên Apache/Linux.
Nếu em chạy php trên IIS/Windows và thấy nó "tốt" hơn trên Apache/Linux thì em cần tìm hiểu sự khác biệt của hai cấu trúc, thâm chí sự khác biệt của php trên Windows/IIS so với php trên Apache/Linux ở dạng "prefork".
Em nói chung chung quá, không thể trả lời cho cụ thể được. Nếu cần so sánh, em nên đưa ra cụ thể bảng so sánh của 2 bên kể cả cấu hình, công nghệ, cách điều chỉnh...v...v....
Vì em thấy theo anh và các nguồn trên internet thì khi chạy Apache trên Linux thì cách tính số lượng Maxclient sẽ phụ thuộc vào số lượng Ram hệ thống đang có,do đó em có so sánh là nếu với số lượng connection như em đưa ra như trên thì trên Windows + IIS chỉ chiếm khoảng gần 700Mb Ram ,còn nếu chạy trên Linux + Apache thì chắc có lẻ số lượng Ram bị sử dụng sẽ rất lớn,nên nếu với cấu hình 2Gb Ram của server thì có lẽ sẽ chịu ko nỗi.không biết ý kiến của anh về vấn đề này ra sao? |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
09/01/2012 16:15:12 (+0700) | #23 | 252145 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
pntri85 wrote:
conmale wrote:
Tuỳ em chạy "cái gì" trên IIS/Windows và "cái gì" trên Apache/Linux.
Nếu em chạy php trên IIS/Windows và thấy nó "tốt" hơn trên Apache/Linux thì em cần tìm hiểu sự khác biệt của hai cấu trúc, thâm chí sự khác biệt của php trên Windows/IIS so với php trên Apache/Linux ở dạng "prefork".
Em nói chung chung quá, không thể trả lời cho cụ thể được. Nếu cần so sánh, em nên đưa ra cụ thể bảng so sánh của 2 bên kể cả cấu hình, công nghệ, cách điều chỉnh...v...v....
Vì em thấy theo anh và các nguồn trên internet thì khi chạy Apache trên Linux thì cách tính số lượng Maxclient sẽ phụ thuộc vào số lượng Ram hệ thống đang có,do đó em có so sánh là nếu với số lượng connection như em đưa ra như trên thì trên Windows + IIS chỉ chiếm khoảng gần 700Mb Ram ,còn nếu chạy trên Linux + Apache thì chắc có lẻ số lượng Ram bị sử dụng sẽ rất lớn,không biết ý kiến của anh về vấn đề này ra sao?
Em không nói rõ em thiết kế web site của em trên IIS như thế nào thì không thể nhận xét được. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
09/01/2012 16:26:18 (+0700) | #24 | 252147 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
conmale wrote:
pntri85 wrote:
conmale wrote:
Tuỳ em chạy "cái gì" trên IIS/Windows và "cái gì" trên Apache/Linux.
Nếu em chạy php trên IIS/Windows và thấy nó "tốt" hơn trên Apache/Linux thì em cần tìm hiểu sự khác biệt của hai cấu trúc, thâm chí sự khác biệt của php trên Windows/IIS so với php trên Apache/Linux ở dạng "prefork".
Em nói chung chung quá, không thể trả lời cho cụ thể được. Nếu cần so sánh, em nên đưa ra cụ thể bảng so sánh của 2 bên kể cả cấu hình, công nghệ, cách điều chỉnh...v...v....
Vì em thấy theo anh và các nguồn trên internet thì khi chạy Apache trên Linux thì cách tính số lượng Maxclient sẽ phụ thuộc vào số lượng Ram hệ thống đang có,do đó em có so sánh là nếu với số lượng connection như em đưa ra như trên thì trên Windows + IIS chỉ chiếm khoảng gần 700Mb Ram ,còn nếu chạy trên Linux + Apache thì chắc có lẻ số lượng Ram bị sử dụng sẽ rất lớn,không biết ý kiến của anh về vấn đề này ra sao?
Em không nói rõ em thiết kế web site của em trên IIS như thế nào thì không thể nhận xét được.
Website của em thì cũng sài Php+Mysql thôi,chạy trên IIS 6 sử dụng ISAPI .nhưng vấn đề em thắc mắc ở đây là nếu với số lượng connection như trên thì liệu Linux+Apache chạy trên Server có cấu hình 2Gb ram thì có chịu nỗi ko,nếu theo như lý thuyết tính toán thì chắc chắc Server sẽ thiếu Ram trầm trọng. |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
09/01/2012 16:40:21 (+0700) | #25 | 252151 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
pntri85 wrote:
conmale wrote:
pntri85 wrote:
conmale wrote:
Tuỳ em chạy "cái gì" trên IIS/Windows và "cái gì" trên Apache/Linux.
Nếu em chạy php trên IIS/Windows và thấy nó "tốt" hơn trên Apache/Linux thì em cần tìm hiểu sự khác biệt của hai cấu trúc, thâm chí sự khác biệt của php trên Windows/IIS so với php trên Apache/Linux ở dạng "prefork".
Em nói chung chung quá, không thể trả lời cho cụ thể được. Nếu cần so sánh, em nên đưa ra cụ thể bảng so sánh của 2 bên kể cả cấu hình, công nghệ, cách điều chỉnh...v...v....
Vì em thấy theo anh và các nguồn trên internet thì khi chạy Apache trên Linux thì cách tính số lượng Maxclient sẽ phụ thuộc vào số lượng Ram hệ thống đang có,do đó em có so sánh là nếu với số lượng connection như em đưa ra như trên thì trên Windows + IIS chỉ chiếm khoảng gần 700Mb Ram ,còn nếu chạy trên Linux + Apache thì chắc có lẻ số lượng Ram bị sử dụng sẽ rất lớn,không biết ý kiến của anh về vấn đề này ra sao?
Em không nói rõ em thiết kế web site của em trên IIS như thế nào thì không thể nhận xét được.
Website của em thì cũng sài Php+Mysql thôi,chạy trên IIS 6 sử dụng ISAPI .nhưng vấn đề em thắc mắc ở đây là nếu với số lượng connection như trên thì liệu Linux+Apache chạy trên Server có cấu hình 2Gb ram thì có chịu nỗi ko,nếu theo như lý thuyết tính toán thì chắc chắc Server sẽ thiếu Ram trầm trọng.
Nên tìm hiểu và so sánh sự khác biệt giữa đoạn màu đỏ, cơ chế làm việc (điều tác) requests của IIS và apache/php prefork model. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
11/01/2012 13:32:40 (+0700) | #26 | 252254 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
Giờ em tính chạy Apache dạng MPM worker với PHP sử dụng FastCGI thì có ổn ko anh ?,vì trước giờ toàn chạy MPM Prefork ko ah nên ko biết nó chạy thế nào. Mong anh Conmale và mọi người cho 1 lời khuyên .Thanks |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
11/01/2012 14:31:31 (+0700) | #27 | 252258 |
prescolt
Member
|
0 |
|
|
Joined: 05/12/2011 20:42:03
Messages: 1
Offline
|
|
RAM còn thừa mà mysql chạy rất cao theo mình nghĩ lí do là vì việc xử lí DB quá chậm, trong khi request cứ đưa vào làm cho queue của Mysql bị đầy, làm cho mysql bị rơi vào deadlock, không nhả tài nguyên ra được dẫn đến SSH vào cũng chậm luôn |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
11/01/2012 14:58:36 (+0700) | #28 | 252261 |
|
azteam
Member
|
0 |
|
|
Joined: 17/03/2007 21:12:46
Messages: 177
Location: /dev/null
Offline
|
|
Bạn pntri85 có lẽ đang bị mất phương hướng trong phương pháp xử lý. Bạn nên tìm hiểu rõ bản chất của vấn đề trước khi chuyển sang "thử" tiếp. Nếu vấn đề do code và database chưa được tối ưu thì bạn "thử" với webserver và module nào cũng vậy thôi. |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
11/01/2012 16:10:26 (+0700) | #29 | 252267 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
azteam wrote:
Bạn pntri85 có lẽ đang bị mất phương hướng trong phương pháp xử lý. Bạn nên tìm hiểu rõ bản chất của vấn đề trước khi chuyển sang "thử" tiếp. Nếu vấn đề do code và database chưa được tối ưu thì bạn "thử" với webserver và module nào cũng vậy thôi.
Đúng là thực sự mình đang bế tắc nên mình muốn thử với nhiều phương pháp trước khi kết luận nguyên nhân.Vì website của mình tương đối nhiều module và việc query đến database rất nhiều do đó có thể mysql xử lý ko kịp dẫn đến tình trạng treo Server.Tuy nhiên do website này là do 1 công ty khác làm và cũng rất nhiều module nên giờ kiểm tra lại code và các câu query là rất mất thời gian và khó khăn. |
|
|
|
|
[Discussion] Nhờ tuning apache và mysql cho website |
12/01/2012 11:23:07 (+0700) | #30 | 252328 |
pntri85
Member
|
0 |
|
|
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
|
|
Sau 1 ngày compile và tuning lại Apache-Mysql-Php ,sau đó em sử dụng tool ab để benchmak .Kết quá như sau:
Code:
$ ab -n 1000 -c 300 http://myip/index.php
Document Path: /index.php
Document Length: 179391 bytes
Concurrency Level: 300
Time taken for tests: 100.047 seconds
Complete requests: 1000
Failed requests: 860
(Connect: 0, Receive: 0, Length: 860, Exceptions: 0)
Write errors: 0
Total transferred: 179794500 bytes
HTML transferred: 179401500 bytes
Requests per second: 10.00 [#/sec] (mean)
Time per request: 30014.238 [ms] (mean)
Time per request: 100.047 [ms] (mean, across all concurrent requests)
Transfer rate: 1754.97 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 1 292 880.2 2 3015
Processing: 12423 27956 5477.2 28926 42784
Waiting: 12324 27915 5516.7 28906 42762
Total: 12425 28247 5527.5 29325 42809
Percentage of the requests served within a certain time (ms)
50% 29325
66% 30529
75% 31184
80% 31720
90% 33203
95% 36224
98% 39332
99% 41009
100% 42809 (longest request)
Kết quả lệnh top lúc đang benchmark
Code:
top - 12:11:55 up 10:24, 1 user, load average: 233.39, 111.62, 52.73
Tasks: 502 total, 11 running, 491 sleeping, 0 stopped, 0 zombie
Cpu(s): 50.5%us, 12.2%sy, 0.0%ni, 37.0%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 8148540k total, 6202800k used, 1945740k free, 7296k buffers
Swap: 16385132k total, 0k used, 16385132k free, 2451408k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30883 mysql 0 -15 683m 145m 4264 S 119.0 1.8 20:32.58 mysqld
3791 daemon 16 0 169m 15m 3396 D 2.6 0.2 0:01.85 httpd
4126 daemon 16 0 169m 16m 3396 D 2.6 0.2 0:01.99 httpd
4534 daemon 16 0 169m 15m 3396 D 2.6 0.2 0:00.81 httpd
2300 daemon 16 0 169m 15m 3420 D 2.3 0.2 0:05.66 httpd
3743 daemon 16 0 169m 16m 3396 D 2.3 0.2 0:02.25 httpd
3976 daemon 16 0 169m 16m 3396 D 2.3 0.2 0:01.90 httpd
3987 daemon 16 0 169m 16m 3396 D 2.3 0.2 0:01.97 httpd
4007 daemon 16 0 169m 16m 3400 D 2.3 0.2 0:01.97 httpd
4140 daemon 16 0 169m 16m 3396 D 2.3 0.2 0:01.96 httpd
4143 daemon 16 0 169m 15m 3396 D 2.3 0.2 0:01.79 httpd
4171 daemon 16 0 169m 15m 3400 D 2.3 0.2 0:01.87 httpd
4234 daemon 15 0 170m 16m 3400 D 2.3 0.2 0:01.93 httpd
3859 daemon 16 0 169m 16m 3396 D 2.0 0.2 0:01.94 httpd
3867 daemon 16 0 169m 16m 3396 D 2.0 0.2 0:01.97 httpd
3925 daemon 16 0 169m 16m 3396 D 2.0 0.2 0:01.89 httpd
3980 daemon 16 0 169m 16m 3396 D 2.0 0.2 0:01.93 httpd
3981 daemon 16 0 169m 16m 3404 D 2.0 0.2 0:01.90 httpd
3997 daemon 15 0 169m 15m 3396 D 2.0 0.2 0:01.84 httpd
3999 daemon 16 0 169m 16m 3396 D 2.0 0.2 0:01.87 httpd
4004 daemon 15 0 169m 16m 3396 D 2.0 0.2 0:01.94 httpd
4008 daemon 16 0 169m 16m 3396 D 2.0 0.2 0:01.95 httpd
4057 daemon 15 0 169m 15m 3396 D 2.0 0.2 0:01.84 httpd
4157 daemon 16 0 169m 16m 3396 D 2.0 0.2 0:01.93 httpd
4172 daemon 16 0 169m 15m 3400 D 2.0 0.2 0:01.88 httpd
4179 daemon 16 0 169m 15m 3400 D 2.0 0.2 0:01.86 httpd
4186 daemon 16 0 169m 15m 3400 D 2.0 0.2 0:01.88 httpd
4187 daemon 16 0 169m 15m 3400 D 2.0 0.2 0:01.81 httpd
4231 daemon 16 0 169m 16m 3400 D 2.0 0.2 0:01.87 httpd
4236 daemon 16 0 169m 15m 3400 D 2.0 0.2 0:01.78 httpd
4241 daemon 15 0 169m 15m 3400 D 2.0 0.2 0:01.79 httpd
4248 daemon 16 0 169m 15m 3400 D 2.0 0.2 0:01.83 httpd
4255 daemon 16 0 169m 15m 3400 D 2.0 0.2 0:01.86 httpd
Lúc này thì khi truy cập vào web load rất lâu.
Mọi người xem giúp em lần nữa xem tình trang này có cách nào giải quyết ko?Có cần nâng cấp phần cứng hay config lại Server nữa ko?
|
|
|
|
|
|
|
|
Users currently in here |
1 Anonymous
|
|
Powered by JForum - Extended by HVAOnline
hvaonline.net | hvaforum.net | hvazone.net | hvanews.net | vnhacker.org
1999 - 2013 ©
v2012|0504|218|
|
|