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 Server OverLoad  XML
  [Question]   Server OverLoad 23/04/2013 21:30:29 (+0700) | #1 | 275171
thanhtamntp
Member

[Minus]    0    [Plus]
Joined: 08/12/2008 10:50:06
Messages: 247
Offline
[Profile] [PM]
Hiện tại con server của em dạo này nó thường xuyên bị overload

[URL=http://imageshack.us/photo/my-images/607/screenshot784043.png/]
[/URL]

Đây là lúc tạm stop mail service lại


root@host [~]# uptime
22:18:23 up 23:51, 2 users, load average: 9.21, 15.28, 34.96
root@host [~]# free -m
total used free shared buffers cached
Mem: 8116 5238 2877 0 438 3147
-/+ buffers/cache: 1652 6463
Swap: 8197 0 8197
root@host [~]# hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads: 3204 MB in 2.00 seconds = 1603.09 MB/sec
Timing buffered disk reads: 50 MB in 3.18 seconds = 15.73 MB/sec
root@host [~]#
 


Trước đây Load Average thường chỉ ở mức 1. Kiểm tra thì thấy mysql và exim thường s/d nhiều CPU nhất

Còn đây là file config của mysql


root@cpanel [~]# vi /etc/my.cnf
[client]
port=3306
socket="/var/lib/mysql/mysql.sock"
[mysqldump]
quick
max_allowed_packet=16M
default-storage-engine=MyISAM
#innodb_file_per_table=1
[mysql]
no-auto-rehash
[myisamchk]
read_buffer=2M
write_buffer=2M
sort_buffer_size=128M
key_buffer=128M
[mysqlhotcopy]
interactive-timeout
[mysqld]
max_connect_errors=100
connect_timeout=60
server-id=1
skip-networking
character-set-server=utf8
table_cache=1024
read_rnd_buffer_size=4M
skip-federated
socket="/var/lib/mysql/mysql.sock"
bind-address=127.0.0.1
log-slow-queries="/var/log/mysql-slow.log"
long_query_time=5
default-storage-engine=MyISAM
#innodb_file_per_table=1
thread_concurrency=8
query_cache_size=32M
thread_cache_size=8
myisam_sort_buffer_size=64M
key_buffer=384M
skip-external-locking
skip-character-set-client-handshake
read_buffer_size=1M
port=3306
sort_buffer_size=1M
max_allowed_packet=256M
[isamchk]
read_buffer=2M
write_buffer=2M
sort_buffer_size=128M
key_buffer=128M
 
[Up] [Print Copy]
  [Question]   Server OverLoad 24/04/2013 10:34:17 (+0700) | #2 | 275180
thanhtamntp
Member

[Minus]    0    [Plus]
Joined: 08/12/2008 10:50:06
Messages: 247
Offline
[Profile] [PM]
Tạm thời em đang dùng giải pháp hạn chế cpu cho mysql và exim, thấy load cũng đã giảm.
[Up] [Print Copy]
  [Question]   Server OverLoad 24/04/2013 14:13:07 (+0700) | #3 | 275192
[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!]
Tạm thời em đang dùng giải pháp hạn chế cpu cho mysql và exim, thấy load cũng đã giảm.
 


Theo mình hiểu cách bạn hạn chế CPU & MYSQL ở đây là dùng Nice (Set Priority) cho CPU. Điều này có thể được coi như việc cấp Quota cho 1 Process nhất định, nhưng nó cũng là cánh cửa sẵn sàng "bóp" luôn các process khác nếu như lượng request vượt quá số hạn. smilie
[Up] [Print Copy]
  [Question]   Server OverLoad 24/04/2013 15:54:18 (+0700) | #4 | 275204
thanhtamntp
Member

[Minus]    0    [Plus]
Joined: 08/12/2008 10:50:06
Messages: 247
Offline
[Profile] [PM]
Hiện tại em đã bỏ cpu limit vì theo dõi thấy nó vẫn vượt quá quota mà mình set.

Có lúc thấy Load Averages lên đến 100 luôn smilie
[Up] [Print Copy]
  [Question]   Server OverLoad 24/04/2013 16:00:59 (+0700) | #5 | 275205
thanhtamntp
Member

[Minus]    0    [Plus]
Joined: 08/12/2008 10:50:06
Messages: 247
Offline
[Profile] [PM]
Đây là kết quả chạy tuner


>> MySQLTuner 1.2.0 - Major Hayden <major@mhtx.net>
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with '--help' for additional options and output filtering

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.5.28-cll
[!!] Switch to 64-bit OS - MySQL cannot currently use all of your RAM

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 3G (Tables: 28432)
[--] Data in InnoDB tables: 118M (Tables: 1447)
[--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17)
[--] Data in MEMORY tables: 102M (Tables: 200)
[!!] Total fragmented tables: 1649

-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 1h 46m 49s (1M q [216.611 qps], 38K conn, TX: 6B, RX: 317M)
[--] Reads / Writes: 82% / 18%
[--] Total buffers: 576.0M global + 6.3M per thread (151 max threads)
[OK] Maximum possible memory usage: 1.5G (18% of installed RAM)
[OK] Slow queries: 0% (44/1M)
[OK] Highest usage of available connections: 31% (48/151)
[OK] Key buffer size / total MyISAM indexes: 384.0M/1.0G
[OK] Key buffer hit rate: 99.6% (23M cached / 87K reads)
[OK] Query cache efficiency: 65.8% (723K cached / 1M selects)
[!!] Query cache prunes per day: 1737261
[OK] Sorts requiring temporary tables: 0% (242 temp sorts / 146K sorts)
[!!] Joins performed without indexes: 6027
[!!] Temporary tables created on disk: 29% (63K on disk / 216K total)
[OK] Thread cache hit rate: 95% (1K created / 38K connections)
[!!] Table cache hit rate: 1% (1K open / 53K opened)
[OK] Open file limit used: 40% (1K/4K)
[OK] Table locks acquired immediately: 99% (933K immediate / 934K locks)
[OK] InnoDB data size / buffer pool: 118.8M/128.0M

-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
Adjust your join queries to always utilize indexes
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
query_cache_size (> 32M)
join_buffer_size (> 128.0K, or always use indexes with joins)
tmp_table_size (> 16M)
max_heap_table_size (> 256M)
table_cache (> 1024)
 
[Up] [Print Copy]
  [Question]   Server OverLoad 24/04/2013 22:32:09 (+0700) | #6 | 275207
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

thanhtamntp wrote:
Kiểm tra thì thấy mysql và exim thường s/d nhiều CPU nhất
 

MySQL thường cần dùng nhiều CPU khi nó phải xử lý những câu truy vấn chậm. Giảm `long_query_time` xuống 0 rồi bắt đầu từ đây:
Code:
pt-query-digest /var/log/mysql-slow.log

thanhtamntp wrote:

Còn đây là file config của mysql


default-storage-engine=MyISAM
 

 

Có lý do gì đặc biệt mà bạn để MyISAM là default không?

thanhtamntp wrote:
Hiện tại em đã bỏ cpu limit vì theo dõi thấy nó vẫn vượt quá quota mà mình set.
 

`cpulimit` chỉ là giải pháp tạm thời thôi. Muốn lâu dài thì phải tuning lại ứng dụng.

thanhtamntp wrote:

Có lúc thấy Load Averages lên đến 100 luôn smilie 

Bạn kiểm tra xem có process nào bị D state không?
Code:
watch "ps -eo pid,user,state,command | awk '\$3 == /D/ { print \$0 }'"

thanhtamntp wrote:
Đây là kết quả chạy tuner
...
 

Bắt đầu từ mấy cái chấm than đi.
[!!] Switch to 64-bit OS - MySQL cannot currently use all of your RAM 

Giờ có mấy ai cài hệ điều hành 32 bit cho server đâu.
[!!] Total fragmented tables: 1649 

http://www.dufault.info/blog/a-script-to-optimize-fragmented-tables-in-mysql/
[!!] Query cache prunes per day: 1737261 

Tăng `query_cache_size` lên hoặc tắt đi luôn: http://www.mysqlperformanceblog.com/2011/04/10/should-we-give-a-mysqlquery-cache-a-second-chance/
[!!] Joins performed without indexes: 6027
[!!] Temporary tables created on disk: 29% (63K on disk / 216K total) 

Dùng `EXPLAIN` hoặc `pt-query-advisor` để kiểm tra lại các câu truy vấn.

Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Server OverLoad 02/05/2013 08:39:41 (+0700) | #7 | 275365
thanhtamntp
Member

[Minus]    0    [Plus]
Joined: 08/12/2008 10:50:06
Messages: 247
Offline
[Profile] [PM]
1. MyISAM là từ lúc cài để vậy nên em sợ chuyển sang Innodb sợ có vấn đề gì.
2. OS 32bits cũng là do người khác cài từ đầu

3. Sau khi thay đổi 1 số thông tin như anh bảo ở trên Load Averages có giảm nhưng vẫn cao




[Up] [Print Copy]
  [Question]   Server OverLoad 05/05/2013 20:39:20 (+0700) | #8 | 275468
myquartz
Member

[Minus]    0    [Plus]
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
[Profile] [PM]
exim là MTA, server của bạn gửi nhận mail nhiều lắm mới bị chậm thế.
Bạn xem cụ thể làm sao exim lại phải làm việc nhiều thế? cỡ 4CPU cho một mail server sẽ đủ sức xử lý đến cả chục GB/giờ. Không rõ bạn nhiều cỡ nào?
[Up] [Print Copy]
  [Question]   Server OverLoad 13/05/2013 22:49:12 (+0700) | #9 | 275680
soidamientrung
Member

[Minus]    0    [Plus]
Joined: 23/08/2007 12:09:11
Messages: 54
Offline
[Profile] [PM] [Email]
Hi anh thanhtamntp,

anh dùng tool gì mà cho ra màn trực quan thế. Cho em xin tên em nó với nhé.

Thanks anh.
[Up] [Print Copy]
  [Question]   Server OverLoad 13/05/2013 23:53:17 (+0700) | #10 | 275685
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

soidamientrung wrote:

anh dùng tool gì mà cho ra màn trực quan thế. Cho em xin tên em nó với nhé.
 

http://htop.sourceforge.net/
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Server OverLoad 14/05/2013 22:52:52 (+0700) | #11 | 275722
soidamientrung
Member

[Minus]    0    [Plus]
Joined: 23/08/2007 12:09:11
Messages: 54
Offline
[Profile] [PM] [Email]
Cảm ơn anh quanta. Em đã run ngon lành.

Em định vọc mấy command để xác định nguyen nhân gây chậm hệ thống, mong anh quanta cho em 1 lời khuyên/tài liệu/link.

Thanks anh nhiều.
[Up] [Print Copy]
  [Question]   Server OverLoad 15/05/2013 09:14:53 (+0700) | #12 | 275724
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

soidamientrung wrote:

Em định vọc mấy command để xác định nguyen nhân gây chậm hệ thống, mong anh quanta cho em 1 lời khuyên/tài liệu/link.
 

Có mấy nguyên nhân chính có thể gây chậm server:
1. Load average cao
2. Hết RAM, phải dùng đến swap
3. CPU bận rộn
4. Đĩa cứng đang hoạt động hết công suất -> Wait IO cao (cái này có liên quan đến nguyên nhân thứ nhất). Đọc thêm về "D" state.
5. Hết bandwidth

Tất cả dẫn đến một câu hỏi:
Process nào đang dùng những tài nguyên trên nhiều nhất? 

Để trả lời câu hỏi này thì bạn có thể dùng những công cụ như: top (atop, htop), ps, iotop, iostat, vmstat, nethogs, iftop, ...

Tham khảo thêm:
- http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html
- http://h30565.www3.hp.com/t5/Feature-Articles/16-Linux-Server-Monitoring-Commands-You-Really-Need-To-Know/ba-p/1936

và một câu hỏi khó hơn:
Process đó đang làm gì mà lại dùng nhiều tài nguyên đến vậy? 

Với câu hỏi này, bạn có thể đọc `man proc`, dùng `lsof`, `fuser`, `strace`, ... hoặc các công cụ profiler như: OProfile, perf, Valgrind, ...

Đọc thêm:
- http://www.eclipse.org/linuxtools/downloads.php
- http://www.pixelbeat.org/programming/profiling/
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Server OverLoad 21/05/2013 16:49:08 (+0700) | #13 | 275866
thanhtamntp
Member

[Minus]    0    [Plus]
Joined: 08/12/2008 10:50:06
Messages: 247
Offline
[Profile] [PM]

myquartz wrote:
exim là MTA, server của bạn gửi nhận mail nhiều lắm mới bị chậm thế.
Bạn xem cụ thể làm sao exim lại phải làm việc nhiều thế? cỡ 4CPU cho một mail server sẽ đủ sức xử lý đến cả chục GB/giờ. Không rõ bạn nhiều cỡ nào? 


Đúng là do exim nên dẫn đến mysql và làm cho con server của em nó bị overload.

Email thì không bị spam vào nhưng việc gửi ra em chưa quản lý được.
[Up] [Print Copy]
  [Question]   Server OverLoad 22/05/2013 05:53:29 (+0700) | #14 | 275879
thanhtamntp
Member

[Minus]    0    [Plus]
Joined: 08/12/2008 10:50:06
Messages: 247
Offline
[Profile] [PM]
Đây là các process mysql khi exim chạy


[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|