banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Nhờ tuning apache và mysql cho website  XML
  [Discussion]   Nhờ tuning apache và mysql cho website 06/01/2012 19:52:14 (+0700) | #1 | 251988
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]
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





[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 06/01/2012 20:22:28 (+0700) | #2 | 251989
[Avatar]
tranhuuphuoc
Moderator

Joined: 05/09/2004 06:08:09
Messages: 865
Location: Lầu Xanh
Offline
[Profile] [PM] [WWW]
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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 06/01/2012 20:51:21 (+0700) | #3 | 251991
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]
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
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 08:39:13 (+0700) | #4 | 252007
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 08:47:55 (+0700) | #5 | 252009
[Avatar]
jerrykun
Member

[Minus]    0    [Plus]
Joined: 25/02/2011 18:01:09
Messages: 41
Location: error_log
Offline
[Profile] [PM]
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 !
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 09:20:25 (+0700) | #6 | 252014
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]

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 đỡ
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 09:47:45 (+0700) | #7 | 252018
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]

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 

[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 10:40:35 (+0700) | #8 | 252022
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]
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

[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 12:07:34 (+0700) | #9 | 252027
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 12:35:43 (+0700) | #10 | 252029
[Avatar]
Ikut3
Elite Member

[Minus]    0    [Plus]
Joined: 24/09/2007 23:47:03
Messages: 1429
Location: Nhà hát lớn
Offline
[Profile] [PM] [Yahoo!]
@ 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
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 13:16:40 (+0700) | #11 | 252034
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 13:26:44 (+0700) | #12 | 252035
[Avatar]
azteam
Member

[Minus]    0    [Plus]
Joined: 17/03/2007 21:12:46
Messages: 177
Location: /dev/null
Offline
[Profile] [PM]
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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 13:29:38 (+0700) | #13 | 252036
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]

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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 14:15:22 (+0700) | #14 | 252039
[Avatar]
jerrykun
Member

[Minus]    0    [Plus]
Joined: 25/02/2011 18:01:09
Messages: 41
Location: error_log
Offline
[Profile] [PM]
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



[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 !
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 14:23:13 (+0700) | #15 | 252040
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]

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



[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
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 07/01/2012 17:52:17 (+0700) | #16 | 252046
shuichi_akai
Elite Member

[Minus]    0    [Plus]
Joined: 12/10/2003 10:40:06
Messages: 161
Location: /home
Offline
[Profile] [PM]
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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 08/01/2012 05:22:27 (+0700) | #17 | 252060
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 08/01/2012 10:51:24 (+0700) | #18 | 252070
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]

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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 08/01/2012 12:17:36 (+0700) | #19 | 252074
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 09/01/2012 15:40:16 (+0700) | #20 | 252140
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]

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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 09/01/2012 15:54:20 (+0700) | #21 | 252141
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 09/01/2012 16:13:41 (+0700) | #22 | 252144
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]

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?
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 09/01/2012 16:15:12 (+0700) | #23 | 252145
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 09/01/2012 16:26:18 (+0700) | #24 | 252147
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]

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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 09/01/2012 16:40:21 (+0700) | #25 | 252151
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 11/01/2012 13:32:40 (+0700) | #26 | 252254
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]
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
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 11/01/2012 14:31:31 (+0700) | #27 | 252258
prescolt
Member

[Minus]    0    [Plus]
Joined: 05/12/2011 20:42:03
Messages: 1
Offline
[Profile] [PM]
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
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 11/01/2012 14:58:36 (+0700) | #28 | 252261
[Avatar]
azteam
Member

[Minus]    0    [Plus]
Joined: 17/03/2007 21:12:46
Messages: 177
Location: /dev/null
Offline
[Profile] [PM]
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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 11/01/2012 16:10:26 (+0700) | #29 | 252267
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]

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.
[Up] [Print Copy]
  [Discussion]   Nhờ tuning apache và mysql cho website 12/01/2012 11:23:07 (+0700) | #30 | 252328
pntri85
Member

[Minus]    0    [Plus]
Joined: 25/08/2011 07:37:41
Messages: 83
Offline
[Profile] [PM]
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?
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 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|