Server มีปัญหาเข้า web ไม่ได้ รบกวนแนะนำด้วยครับ

เริ่มโดย ronin2000, 27 มิถุนายน 2012, 22:22:56

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

ronin2000

สวัสดีครับ

server ผมมี spec คราวๆ ดังนี้
Kernel and CPU Linux 2.6.18-308.4.1.el5 on x86_64
Processor information Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz, 8 cores
Operating system CentOS Linux 5.7
memory 10 GB
ตั้งอยู่ที่ CAT Bandwidth Unlimited

ผม TOP ดู มีรายละเอียดดังนี้

top - 22:02:57 up 15 days, 10:57,  1 user,  load average: 1.14, 1.11, 0.92
Tasks: 1314 total,   4 running, 1268 sleeping,   0 stopped,  42 zombie
Cpu0  :  3.2%us,  3.8%sy,  0.0%ni, 93.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  2.5%us,  2.5%sy,  0.0%ni, 93.7%id,  1.3%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  5.1%us,  1.9%sy,  0.0%ni, 84.8%id,  8.2%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  : 11.4%us,  1.9%sy,  0.0%ni, 82.3%id,  3.8%wa,  0.0%hi,  0.6%si,  0.0%st
Cpu4  :  2.5%us,  2.5%sy,  0.0%ni, 95.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu5  :  5.1%us,  1.3%sy,  0.0%ni, 93.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  : 23.6%us, 14.0%sy,  0.0%ni, 61.1%id,  1.3%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu7  : 28.0%us,  4.5%sy,  0.0%ni, 51.0%id,  8.9%wa,  0.6%hi,  7.0%si,  0.0%st
Mem:  12290040k total, 12057560k used,   232480k free,   119332k buffers
Swap: 10482404k total,    21252k used, 10461152k free,  5973204k cached

ผมดู process apache ได้ผลดังนี้
[root@t1 ~]$ ps aux | grep http | grep -v "(root|grep)" | wc -l
1019

httpd.conf มีค่าดังนี้
<IfModule prefork.c>
StartServers 64
MinSpareServers 128
MaxSpareServers 256
ServerLimit      4096
MaxClients       4096
MaxRequestsPerChild 2048
</IfModule>

my.cnf มีค่าดังนี้
max_connections=5000

ส่วน script php ใน web เขียนเอง ไม่ได้ใช้ script สำเร็จรูป
ตอน server มีปัญหา restart apache ก็กลับมาใช้ได้ปกติ แต่เมื่อไร top ดูแล้วมี process เกิน 1,300 process แล้วดู process apache เกิน 1,000 process จะเข้า web ไม่ได้ ผมไม่แน่ใจว่าผม config ตรงไหนผิด รบกวนพี่ๆ แนะนำด้วยครับ

ขอบคุณมากครับ

zidit

เข้าไม่ได้นี่เปนลักษณะไหนครับ หมุนค้างนานๆ หรือว่าตัดไปเลย

ได้ลง apache_status รึเปล่าครับ เช็คจากตรงนั้นก็ได้ว่า คนเข้าจนเต็ม maxclients รึเปล่า

ronin2000

อ้างถึงจาก: zidit ใน 27 มิถุนายน 2012, 22:42:03
เข้าไม่ได้นี่เปนลักษณะไหนครับ หมุนค้างนานๆ หรือว่าตัดไปเลย

ได้ลง apache_status รึเปล่าครับ เช็คจากตรงนั้นก็ได้ว่า คนเข้าจนเต็ม maxclients รึเปล่า

ลักษณะหมุนค้างนานๆ ครับ ตอนที่มีปัญหาไม่สามารถเข้า apache_status ได้ครับ

iLhay

iostat -ktx 2

ถ้าใช้ไม่ได้

สั่ง yum install sysstat ครับ แล้สั่งข้างบนไป
[direct=https://bangmod.cloud/wordpress-hosting/]Wordpress Hosting

[/direct]
[direct=https://bangmod.cloud/wordpress-hosting/]Wordpress Hosting[/direct] เริ่มต้นปีละ 790 บาท NVMe SSD เร็ว 9000MB/s เร็วกว่านี้ไม่มีอีกแล้ว
[direct=https://bangmod.cloud/cloud-server]Cloud Server[/direct] เริ่มต้นเพียงเดือนละ 159 บาท พร้อมใช้ภายใน 1 นาที ผ่านระบบอัตโนมัติมีทั้ง Linux / Windows / DirectAdmin
สอบถามข้อมูลและแจ้งปัญหา 02-105-4417 ตลอด 24 ชั่วโมง

ronin2000

อ้างถึงจาก: iLhay ใน 27 มิถุนายน 2012, 23:04:40
iostat -ktx 2

ถ้าใช้ไม่ได้

สั่ง yum install sysstat ครับ แล้สั่งข้างบนไป

ได้ผลดังนี้ครับ
Time: 11:08:19 PM
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           8.75    0.81    3.62    2.25    0.00   84.56

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.50     0.00  2.00  0.00    10.00     0.00    10.00     0.03   14.50   7.50   1.50
sda1              0.50     0.00  2.00  0.00    10.00     0.00    10.00     0.03   14.50   7.50   1.50
sda2              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sdb               0.00    52.00  1.50 15.00     6.00   268.00    33.21     0.04    2.64   1.24   2.05
sdc               0.00    52.00  0.00 15.00     0.00   268.00    35.73     0.02    1.47   0.17   0.25
sdd               0.00   174.00  6.00 22.50    38.00   786.00    57.82     0.28    9.65   3.72  10.60
sde               0.00   174.00  0.00 22.00     0.00   784.00    71.27     0.20    6.09   3.68   8.10
sdf               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sdf1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-0              0.00     0.00  1.50 67.00     6.00   268.00     8.00     0.20    2.98   0.31   2.10
dm-1              0.00     0.00  1.50 67.00     6.00   268.00     8.00     0.20    2.98   0.31   2.10
dm-2              0.00     0.00  6.00 196.50    38.00   786.00     8.14     2.53   12.13   0.81  16.45
dm-3              0.00     0.00  6.00 196.50    38.00   786.00     8.14     2.53   12.13   0.81  16.45


tdelphi

ดูจากคำสั่ง top จะเห็นว่า Tasks: 1314 total,
แต่ config ใส่เยอะเกินไป เช่น

ServerLimit      4096
MaxClients       4096

แนะนำให้ลดเหลือ 2048 ก็พอครับ

และ

max_connections=5000  ลดเหลือ 2048 เช่นกัน

ใส่เยอะเกินไป จะเปลืองแรมครับ และทำให้ระบบช้าลง  ยกเว้นในกรณีที่ connection เยอะจิงๆ ก็ใส่ค่าที่ใกล้เคียงของจริงครับ

ส่วนใน httpd.conf  แนะนำให้ enable mod_status ไว้ดู server-status จะได้เห็นปัญหาได้กว้างขึ้น
หรือมี mrtg , munin ดูประกอบด้วยยิ่งดี



iLhay

เปิด apache status ก่อนเลยครับ และทำตามที่ท่าน tdelphi บอก

ทำตามนี้ฮะ

nano /etc/httpd/conf/extra/httpd-info.conf

เลื่อนๆลงมาดู จะเจอประมานนี้

<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from .example.com
</Location>

ให้แก้เป็นแบบนี้ครับ

<Location /server-status>
SetHandler server-status
#Order deny,allow
#Deny from all
#Allow from .example.com
</Location>

ลงมาอีกนิด จะเจอ

#ExtendedStatus On

ให้เอา # ออก ก็จะกลายเป็น

ExtendedStatus On

หลังจากนั้น save และสั่ง httpd restart แล้วเข้าผ่าน ip/apache-status
[direct=https://bangmod.cloud/wordpress-hosting/]Wordpress Hosting

[/direct]
[direct=https://bangmod.cloud/wordpress-hosting/]Wordpress Hosting[/direct] เริ่มต้นปีละ 790 บาท NVMe SSD เร็ว 9000MB/s เร็วกว่านี้ไม่มีอีกแล้ว
[direct=https://bangmod.cloud/cloud-server]Cloud Server[/direct] เริ่มต้นเพียงเดือนละ 159 บาท พร้อมใช้ภายใน 1 นาที ผ่านระบบอัตโนมัติมีทั้ง Linux / Windows / DirectAdmin
สอบถามข้อมูลและแจ้งปัญหา 02-105-4417 ตลอด 24 ชั่วโมง

tarza

เหมือนผมจะเคยเป็นแฮะ  ไม่รุ้อาการคล้านกันไหม เหมือน httpd มันค้าง  พอ  process เกิน 1000 ไปเลย

ตอนนั้น ผมอัพจาก  2.2 เป็น 2.4  apache 


แล้วตั้ง Kep  เป็น Off

ronin2000

อ้างถึงจาก: tdelphi ใน 28 มิถุนายน 2012, 02:49:11
ดูจากคำสั่ง top จะเห็นว่า Tasks: 1314 total,
แต่ config ใส่เยอะเกินไป เช่น

ServerLimit      4096
MaxClients       4096

แนะนำให้ลดเหลือ 2048 ก็พอครับ

และ

max_connections=5000  ลดเหลือ 2048 เช่นกัน

ใส่เยอะเกินไป จะเปลืองแรมครับ และทำให้ระบบช้าลง  ยกเว้นในกรณีที่ connection เยอะจิงๆ ก็ใส่ค่าที่ใกล้เคียงของจริงครับ

ส่วนใน httpd.conf  แนะนำให้ enable mod_status ไว้ดู server-status จะได้เห็นปัญหาได้กว้างขึ้น
หรือมี mrtg , munin ดูประกอบด้วยยิ่งดี




เครื่องผม enable mod_status อยู่แล้วครับ แต่ตอนที server มีปัญหาไม่สามารถเข้าไปดูได้ครับ
ส่วน httpd.conf , my.cnf ตอนแรกผมตั้งค่าเป็น 2048 พอเกิดปัญหาผมเลยเพิ่มเป็น 4096 ครับ
ปัญหาตอนนี้คือ httpd มันค้าง  พอ  process เกิน 1000 ครับ ยังไงช่วยแนะนำด้วยครับ

WebSnow

โอ้ท่านปรับค่าเยอะมากอย่างกับเว็บคนเข้าวันละ 4-5 แสนกว่าคนต่อวัน
ตอนนี้ยังค้างอยู่หรือเปล่า ? ถ้าใช่ช่วยพิมพ์คำสั่งนี้หน่อย
ถ้าไม่ค้างยังไม่ต้องพิมพ์มา

1) ps -ax
แล้วเอาผลลัพธ์มาโพส

2)ps aux | grep http | grep -v "(root|grep)" | wc -l
แล้วเอาผลลัพธ์มาโพส
3) netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -n
แล้วเอาผลลัพธ์มาโพส

4) mysqladmin process
แล้วเอาผลลัพธ์มาโพส

5) โพสลงหน่อย my.cnf

6) top
แล้วเอาผลลัพธ์มาโพส โพสแบบเต็มเลย

7) apache
KeepAliveTimeout เท่ากับเท่าไหร่

8 ) โพส ผลของ mode status
จะดูว่าคนเข้าหน้าไหน ดูว่าจะเกิด ddos ไหม

9) vmstat -sa

10)เว็บนี้ใช้ script อะไร ? เช่น Wordpress, VB,SMF


แก้ปํญหาเฉพาะหน้าที่เจอแบบนี้ให้ restart apache เพื่อให้คนเข้าเว้บได้
หลังจากนั้นค่อยหาวิธี tune server ใหม่
[direct=http://wpseohost.com/price-plans/]WpSeoHost.com ให้บริการ WP Blog Network 600 C Class IPs /Domains [/direct]

[direct=http://seoalienhost.com]SeoAlienHost.com ให้บริการ SEO Hosting Multiple Class C IPs จาก 18 ประเทศ [/direct]

ronin2000

อ้างถึงจาก: WebSnow ใน 28 มิถุนายน 2012, 13:17:05
โอ้ท่านปรับค่าเยอะมากอย่างกับเว็บคนเข้าวันละ 4-5 แสนกว่าคนต่อวัน
ตอนนี้ยังค้างอยู่หรือเปล่า ? ถ้าใช่ช่วยพิมพ์คำสั่งนี้หน่อย
ถ้าไม่ค้างยังไม่ต้องพิมพ์มา

1) ps -ax
แล้วเอาผลลัพธ์มาโพส

2)ps aux | grep http | grep -v "(root|grep)" | wc -l
แล้วเอาผลลัพธ์มาโพส
3) netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -n
แล้วเอาผลลัพธ์มาโพส

4) mysqladmin process
แล้วเอาผลลัพธ์มาโพส

5) โพสลงหน่อย my.cnf

6) top
แล้วเอาผลลัพธ์มาโพส โพสแบบเต็มเลย

7) apache
KeepAliveTimeout เท่ากับเท่าไหร่

8 ) โพส ผลของ mode status
จะดูว่าคนเข้าหน้าไหน ดูว่าจะเกิด ddos ไหม

9) vmstat -sa

10)เว็บนี้ใช้ script อะไร ? เช่น Wordpress, VB,SMF


แก้ปํญหาเฉพาะหน้าที่เจอแบบนี้ให้ restart apache เพื่อให้คนเข้าเว้บได้
หลังจากนั้นค่อยหาวิธี tune server ใหม่


2)ps aux | grep http | grep -v "(root|grep)" | wc -l
1004

3) netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -n
      1 101.108.0.178
      1 101.51.19.143
      1 1.0.154.17
      1 1.0.186.207
      1 110.164.179.2
      1 110.164.64.161
      1 110.164.72.19
      1 110.49.235.46
      1 110.49.249.19
      1 110.77.229.81
      1 113.53.187.58
      1 115.31.182.50
      1 115.87.122.129
      1 118.173.33.196
      1 118.174.43.93
      1 118.175.210.58
      1 119.46.176.222
      1 122.154.22.34
      1 122.155.42.116
      1 124.120.38.191
      1 124.120.86.184
      1 124.121.249.50
      1 125.26.123.225
      1 125.26.157.96
      1 125.26.167.197
      1 125.26.50.191
      1 125.27.69.66
      1 157.55.18.25
      1 171.97.171.128
      1 180.180.8.237
      1 180.183.152.123
      1 180.183.93.140
      1 180.76.5.186
      1 180.76.5.189
      1 180.76.6.35
      1 183.88.8.207
      1 183.89.115.114
      1 188.61.99.12
      1 202.137.143.37
      1 202.143.191.97
      1 202.29.20.19
      1 202.29.60.225
      1 202.29.9.12
      1 202.58.99.182
      1 203.130.145.98
      1 203.144.217.230
      1 203.151.118.70
      1 203.158.207.55
      1 203.247.140.249
      1 213.55.176.69
      1 223.206.161.17
      1 223.206.19.96
      1 27.55.15.54
      1 49.49.159.144
      1 58.137.161.231
      1 58.8.247.175
      1 58.8.54.236
      1 58.9.115.23
      1 58.9.199.224
      1 58.97.79.196
      1 61.47.23.201
      2 118.174.133.126
      2 202.29.39.1
      2 202.91.18.201
      2 203.110.67.98
      2 36.37.236.238
      2 78.30.89.233
      3 101.108.36.202
      3 118.174.23.237
      3 125.24.127.214
      3 175.38.112.220
      3 223.204.76.230
      4 58.8.221.192
      6 203.172.250.185
      6 37.220.8.106
      8 84.27.115.184
      9 127.0.0.1
     13 118.172.84.45
     13 202.43.34.240
     14 101.109.39.86
    128

4) mysqladmin process
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

5) โพสลงหน่อย my.cnf
key_buffer_size=512M
max_allowed_packet=30M
table_cache=1024
sort_buffer_size=32M
read_buffer_size=16M
read_rnd_buffer_size=32M
myisam_max_sort_file_size=1G
myisam_sort_buffer_size=64M
thread_cache_size=256
query_cache_size=256M
query_cache_limit=256M
join_buffer_size=1024K
tmp_table_size=512M
max_heap_table_size=64M
thread_concurrency=8

set-variable = max_user_connections=2000
max_connections=5000
max_connect_errors=3000
wait_timeout=100
interactive_timeout=60
connect_timeout=60

skip-innodb

[mysqldump]
quick
max_allowed_packet=30M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer=256M
sort_buffer_size=256M
read_buffer=2M
write_buffer=2M

[myisamchk]
key_buffer=256M
sort_buffer_size=256M
read_buffer=2M
write_buffer=2M

[mysqlhotcopy]
interactive-timeout

6) top
top - 14:15:18 up 16 days,  3:09,  1 user,  load average: 5.43, 6.18, 6.72
Tasks: 1330 total,   1 running, 1288 sleeping,   0 stopped,  41 zombie
Cpu0  :  0.6%us,  0.6%sy,  0.0%ni, 47.8%id, 51.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  2.5%us,  1.9%sy,  0.0%ni, 72.6%id, 22.9%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  3.2%us,  2.6%sy,  0.0%ni,  0.0%id, 94.2%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  : 12.2%us,  0.6%sy,  0.0%ni, 37.2%id, 49.4%wa,  0.0%hi,  0.6%si,  0.0%st
Cpu4  :  3.2%us,  0.6%sy,  0.0%ni, 72.0%id, 24.2%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu5  :  4.4%us,  0.6%sy,  0.0%ni, 63.3%id, 31.6%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  : 26.1%us, 12.7%sy,  0.0%ni,  2.5%id, 58.0%wa,  0.0%hi,  0.6%si,  0.0%st
Cpu7  : 22.9%us,  3.2%sy,  0.0%ni, 14.0%id, 51.6%wa,  0.6%hi,  7.6%si,  0.0%st
Mem:  12290040k total, 12223392k used,    66648k free,    48964k buffers
Swap: 10482404k total,  1694908k used,  8787496k free,  2758104k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                               
22919 mysql     15   0 2076m 818m 4132 S 31.5  6.8 424:39.22 mysqld                                                                 
20524 apache    16   0  304m  24m 4680 S  8.4  0.2   0:02.42 httpd                                                                 
23543 apache    16   0  297m  19m 3392 S  7.1  0.2   0:00.26 httpd                                                                 
21538 apache    15   0  299m  21m 3936 S  6.4  0.2   0:01.67 httpd                                                                 
21630 apache    16   0  299m  19m 4580 S  4.5  0.2   0:02.02 httpd                                                                 
20644 apache    15   0  303m  24m 4680 S  3.9  0.2   0:02.28 httpd                                                                 
  446 root      10  -5     0    0    0 S  2.6  0.0   8:50.16 kswapd0                                                               
19244 apache    15   0  298m  21m 4008 S  2.6  0.2   0:03.68 httpd                                                                 
23868 ronin     15   0 13684 2096  844 R  2.6  0.0   0:01.07 top                                                                   
21504 apache    15   0  296m  19m 3960 S  1.9  0.2   0:02.20 httpd                                                                 
21612 apache    15   0  296m  18m 4576 S  1.9  0.2   0:01.73 httpd                                                                 
22677 apache    15   0  297m  20m 3712 S  1.9  0.2   0:00.47 httpd                                                                 
22828 apache    16   0  298m  19m 4564 S  1.9  0.2   0:00.67 httpd                                                                 
22877 apache    16   0  295m  17m 3652 S  1.9  0.1   0:00.56 httpd                                                                 
19238 apache    15   0  303m  24m 4716 S  1.3  0.2   0:05.36 httpd                                                                 
20542 apache    15   0  298m  20m 4724 S  1.3  0.2   0:02.92 httpd                                                                 
21778 apache    16   0  298m  20m 4624 S  1.3  0.2   0:01.02 httpd                                                                 
22822 apache    15   0  299m  21m 3676 S  1.3  0.2   0:00.92 httpd                                                                 
23571 apache    15   0  296m  18m 3628 S  1.3  0.2   0:00.31 httpd                                                                 
23680 apache    15   0  295m  17m 3272 S  1.3  0.1   0:00.07 httpd                                                                 
23867 apache    15   0  294m  16m 3212 S  1.3  0.1   0:00.04 httpd                                                                 
23913 apache    15   0  294m  16m 2976 S  1.3  0.1   0:00.02 httpd                                                                 
19246 apache    15   0  310m  31m 4636 S  0.6  0.3   0:03.62 httpd                                                                 
19271 apache    15   0  307m  28m 4676 S  0.6  0.2   0:04.00 httpd                                                                 
19909 apache    15   0  298m  20m 3704 S  0.6  0.2   0:02.75 httpd                                                                 

7) apache
KeepAliveTimeout 15

8 ) โพส ผลของ mode status
- เข้าไม่ได้ครับ ตอนเกิดปัญหา

9) vmstat -sa
     12290040  total memory
      9755304  used memory
      8511364  active memory
       248320  inactive memory
      2534736  free memory
         9484  buffer memory
       892372  swap cache
     10482404  total swap
        76328  used swap
     10406076  free swap
    117120047 non-nice user cpu ticks
        50639 nice user cpu ticks
     41448265 system cpu ticks
    913359037 idle cpu ticks
     33437461 IO-wait cpu ticks
      1022471 IRQ cpu ticks
      8485068 softirq cpu ticks
            0 stolen cpu ticks
   2046740138 pages paged in
   1738905024 pages paged out
      1582470 pages swapped in
      3163173 pages swapped out
   1201920708 interrupts
   3462042787 CPU context switches
   1339473929 boot time
      1793259 forks

10)เว็บนี้ใช้ script อะไร ? เช่น Wordpress, VB,SMF
- script เป็น php เขียนเองครับ

mostzaa

มี LOOP หรือป่าวครับตัว Script

ป.ล.รอผู้อื่นมาตอบต่ออันนี้ก็เป็นสาเหตุนึงครับ
Upnoc Solution Data Driven Agency Service
[direct=http://www.upnoc.com]Upnoc[/direct]

คนธรรมดา

httpd ก็ไม่น่าทำให้มีปัญหานะครับ
ตอนนี้แนะนำให้ปรับค่า config ของ httpd เป็นแบบเดิมก่อน

แล้วหันมาดู MySQL ผมคิดว่ามันแย้งทรัพยากรไปใช้หมด httpd เลยไม่มีพอใช้
ลองจูน MySQL ใหม่ครับ

แล้วคนเข้าเว็บเยอะแค่ไหน?
[direct=https://www.hostkub.com/vps-server]เช่า vps[/direct]
[direct=https://www.hostkub.com/vps-server]เช่า server[/direct]

WebSnow

ช่วยลองใหม่ พิมพ์ตอนที่มีปํญหานะ เช่นตอน apache มี conection เยอะๆ

1)mysqladmin process -uroot -p
2)sar 
โพสผลลัพธ์
[direct=http://wpseohost.com/price-plans/]WpSeoHost.com ให้บริการ WP Blog Network 600 C Class IPs /Domains [/direct]

[direct=http://seoalienhost.com]SeoAlienHost.com ให้บริการ SEO Hosting Multiple Class C IPs จาก 18 ประเทศ [/direct]

TAXZe

ขอเดานะครับ...

อย่างกะเว็บฝากรูป แต่แรมไม่หมดงิ (ก็เลยไม่น่าจะใช่เว็บฝากรูป ฝากไฟล์รึเปล่าเนี่ย 0.0)

mysql ค้าง apache เลยค้างตาม รึเปล่าครับ(ที่เข้า server-status ไม่ได้เพราะ apache connect เต็มมั้ง -*-)

เห็น wait i/o พุ่งดีจัง แต่ load avg ไม่ยักจะพุ่ง

ผมว่าลองเปิด slow log ดูครับ

เหมือนที่ผ่านๆมา แก้โดยขยาย apache/mysql connect มาตลอด

รื้อสคริป เขียน cache static file อาจจะช่วยได้รึเปล่าครับ

:P
[direct=https://www.taxze.com/ups-review/]รีวิว ups[/direct][direct=https://www.taxze.com/ups-review/]ups ยี่ห้อไหนดี[/direct][direct=https://twitter.com/taxze][/direct][direct=https://www.instagram.com/taxze][/direct][direct=https://rrbg.blogspot.com/][/direct]

JeffyPluS

อ้างถึงจาก: ronin2000 ใน 27 มิถุนายน 2012, 23:09:16
ได้ผลดังนี้ครับ
Time: 11:08:19 PM
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           8.75    0.81    3.62    2.25    0.00   84.56

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.50     0.00  2.00  0.00    10.00     0.00    10.00     0.03   14.50   7.50   1.50
sda1              0.50     0.00  2.00  0.00    10.00     0.00    10.00     0.03   14.50   7.50   1.50
sda2              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sdb               0.00    52.00  1.50 15.00     6.00   268.00    33.21     0.04    2.64   1.24   2.05
sdc               0.00    52.00  0.00 15.00     0.00   268.00    35.73     0.02    1.47   0.17   0.25
sdd               0.00   174.00  6.00 22.50    38.00   786.00    57.82     0.28    9.65   3.72  10.60
sde                0.00   174.00  0.00 22.00     0.00   784.00    71.27     0.20    6.09   3.68   8.10
sdf               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sdf1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-0              0.00     0.00  1.50 67.00     6.00   268.00     8.00     0.20    2.98   0.31   2.10
dm-1              0.00     0.00  1.50 67.00     6.00   268.00     8.00     0.20    2.98   0.31   2.10
dm-2              0.00     0.00  6.00 196.50    38.00   786.00     8.14     2.53   12.13   0.81  16.45
dm-3              0.00     0.00  6.00 196.50    38.00   786.00     8.14     2.53   12.13   0.81  16.45

อ้างถึงจาก: TAXZe ใน 28 มิถุนายน 2012, 20:15:28
ขอเดานะครับ...

อย่างกะเว็บฝากรูป แต่แรมไม่หมดงิ (ก็เลยไม่น่าจะใช่เว็บฝากรูป ฝากไฟล์รึเปล่าเนี่ย 0.0)

mysql ค้าง apache เลยค้างตาม รึเปล่าครับ(ที่เข้า server-status ไม่ได้เพราะ apache connect เต็มมั้ง -*-)

เห็น wait i/o พุ่งดีจัง แต่ load avg ไม่ยักจะพุ่ง

ผมว่าลองเปิด slow log ดูครับ

เหมือนที่ผ่านๆมา แก้โดยขยาย apache/mysql connect มาตลอด

รื้อสคริป เขียน cache static file อาจจะช่วยได้รึเปล่าครับ

:P

ลองดูตามน้องแทก ว่านะครับ
[direct=https://evo.in.th/aff.php?aff=1][/direct]
เว็บ[direct=https://evohosting.in.th]โฮสติ้ง[/direct]แรง เร็ว เสถียร พร้อมดูแลทุกท่านคุณภาพการบริการเริ่มต้นเพียง 500.-/ปี
█ Tel 0810066690 | [direct=https://evo.in.th/store/vps-ssd]EVO VPS[/direct] | [direct=https://evo.in.th/store/extra-hosting]EVO Hosting[/direct]
█ [direct=https://evo.in.th/store/vps-hosting]VPS[/direct]Hosting ประสิทธิภาพสูง แรง เร็ว เสถียร
LineOA : @hosting

WebSnow

จากที่ส่งมาให้ดู

1) เครื่องนี้ไม่โดน DDOS ประเมิณคร่าวๆเท่าที่พิมพ์มาให้ดู
2) my.cnf ควรปรับใหม่
ปรับค่าไม่สมดุลกับ Hardware spec ที่มีอยู่
ตามที่ให้มาปรับไม่เหมราะกัยเครื่องไป 60% ผมจะไม่กล่าวรายละเอียดมากเพราะว่าต้องพิมพ์เยอะ
ปรับ buffer เยอะเกินไป
และ max_connection สูงไป ถ้าวิ่งจริงๆ server จะล่มไปก่อน เนื่องจาก Ram ไม่พอ 

นอกจากว่า จะใช้ mysql persident connection เพื่อ performance  และมี ram มากพอ

ถ้าเว็บขนาดใหญ่ มีการ write เยอะๆ ถ้าเปลี่ยน mysql engine เป็น innodb ก็จะดี เพื่อเว็บไหลคล่องไม่ให้เหกิดปัญหา table lockและไม่ต้อง คอย repair db

3)ปรับ Apache ไม่สมดุลกับ Hardware ที่มีอยู่
ต้อง tune ใหม่ ควรปรับใหม่ ค่าต่างๆสูงเกินไป hardware รับไม่ไหว จะทำให้ server hang หรือมี process เยอะเกินไปรอคิวการประมวลผล
เช่น

ServerLimit  4096
MaxClients  4096

โดยทั่วไปเว็บที่ใช้ php มี 4 แสนกว่า page views ก็ปรับค่าไม่ถึงนี้
สองค่าด้านบน จะทำให้ให้ server ล่มไปก่อน เนื่องจาก ram มีเพียง 12 GB เมื่อ ram ใช้หมดไปต่อไปจะใช้ Swap แทนใน HDD
พอใช้ Swap เว็บจะเริ่มช้า  พอ SWAP เต็ม หลังจากนั้น CPU  avg load จะขึ้นเป็นหลักร้อย ทำให้ Sever Hang ในที่สุด

สูตรคำนวณ ServerLimit and MaxClients  ที่ทำงานได้ดี server ไม่ล่ม

( Total Ram -  Mysql Ram - OS  - OS Cache) / apache per connect  = max client

ค่าต่างๆดูจาก top และ atop
เช่นมี total Ram = 12 GB ,ใช้ mysql 2GB, OS =1GB, OS cache =3GB, Apache per connection = 16MB

(12 - 2 - 1 -3 )0.016 = 375 Max_Clients

375 สามารถขยับได้ขึ้นอีก แล้วรอดูผลการโหลด เช่น ขยับไป 400 500 700
ปรับขึ้นได้เนื่องการโหลดแต่ละชุุด Apache per connection อาจจะใช้น้อย ส่งผลให้ใช้ ram น้อย
ผลข้างเคียงเมื่อปรับสูงมากไป พอไปเจอช่วง แต่ละ connection ใช้ ram สูงๆพอรวมกันมากๆ server จะค้าง และโหลดสุงลิ่ว

KeepAliveTimeout ควรลดลงมา 2-3

4)RAM ไม่พอ ดูจาก TOP ที่ส่งมาให้ดู แนะให้เพิ่ม RAM อีก 12 GB รวมเป็น 24GB
ดูจาก Top เห็น 58.0%wa เกิดจาก Ram หมด แล้วมันไปใช้ disk IO wait สูง.
Ram 66,648k free พอมันจะหมดมันจะไปใช้ Swap แทน
Swap ถูกใช้ไป 1,694,908k used
1.6 GB ถูกใช้ใน Swap เขียนและอ่านใน HDD จะทำให้เกิด Disk IO ทำให้เว็บโหลดช้า ถ้า Swap เครื่องจะ Hang
Loadavg โหลดขึ้นไป 100 -1000 เลยทีเดียว

5) มี Apache = 1004 process
นี่คือปัญหาใหญ่ process เยอะมาก ผิดปกติ ทั้งที่ Avg Load ไม่สูง และ mysql ก็ใช้ cpu & ram  ไม่มาก แถมยัง mysql connection ยังสูงมากเหลือเฟือ
ปัญหาไม่น่าจะใช่ mysql
ถ้า run mysqladmin process ได้ผลมาว่าออกมาไม่มีคิวรอมาก ก็ใช่เลยไม่ใช่เกิดจาก mysql

Server spec นี้ ram ขนาดนี้ แล้วมี 1004 process ขนาดนี้ ถ้ามันทำงานปกติถ้า avg load จะสูงกว่า
ที่มี process จำนวณมาก ต้องสืบดูเชิงลึกว่าเกิดจากอะไร
ยกตัวอย่างกรณีหนึ่งที่ปํญหาคล้ายๆกัน
มี Web server ตัวหนึ่ง run apache and php อย่างเดียว แล้วเรียกรูปจาก อีก server ผ่าน NFS
อยู่มาวันหนึ่ง NFS server มีปัญหา ทำให้ web server เรียกรูปไม่ได้ พอไปดูที่ web server ปราฏกว่า process มากผิดปกติ เพราะว่าการทำงานแต่ละ process ไม่สิ้นสุด เลยมี process เพิ่มขึ้นเรื่อยๆ แล้ว apache connection ก็เต็มคนเข้าเว็บต่อไปอีกไม่ได้


เว็บเขียนเองควรต้องกลับไปดู code ใหม่ และใช้ PHP Performance Optimization
และ อาจจะต้องใช้ Ram based Caching เข้ามาช่วย ตรงส่วนของ web server

-----------------------
สิ่งที่ควรปรับปรุง
1)Tune Apache and MySql ใหม่
2)เพิ่ม Ram
3)PHP Performance Optimization
4)อาจจะต้อง แยก sub domain ไปโฮสอีกเครืองรันคู่ขนานกันไป เพื่อให้ process ของเครื่องหลักลดลงและเพิ่มการโหลดที่เร็ว ลดการทำงานของ main server ยืดอายุการใช้งาน

-----------------------

เกี่ยวกับ Performance จะทำเองก็ได้แต่อาจจะใช้เวลานานในการลองผิดถูกและสืบและแก้ไขปัญหา โดยเฉลี่ยไปกว่าจะเก่ง เรียนจบมาแล้วไปทำงานสายตรงแลมีประสบการณ์ทำงานกับเว็บขนาดใหญ่ใช้เวลาประมาณ 10ปีขึ้นไป
ถ้าต้องการไม่ให้เวลานานมากก็หาคนที่ความสามารถทางด้านนี้มาช่วย.

-----------------------
พอดีเมื่อวานได้พบพี่ต่อ tdelphi มาทักทาง msn และได้คุยกับ พี่ต่อและคุณ ronin2000 ทาง msn เว็บนี้คนเข้า 9 หมื่นกว่าคนต่อวัน และเขาได้ทำการ tune เครืองกันใหม่ น่าจะได้ผลดีในเร็ววัน.
[direct=http://wpseohost.com/price-plans/]WpSeoHost.com ให้บริการ WP Blog Network 600 C Class IPs /Domains [/direct]

[direct=http://seoalienhost.com]SeoAlienHost.com ให้บริการ SEO Hosting Multiple Class C IPs จาก 18 ประเทศ [/direct]

iLhay

[direct=https://bangmod.cloud/wordpress-hosting/]Wordpress Hosting

[/direct]
[direct=https://bangmod.cloud/wordpress-hosting/]Wordpress Hosting[/direct] เริ่มต้นปีละ 790 บาท NVMe SSD เร็ว 9000MB/s เร็วกว่านี้ไม่มีอีกแล้ว
[direct=https://bangmod.cloud/cloud-server]Cloud Server[/direct] เริ่มต้นเพียงเดือนละ 159 บาท พร้อมใช้ภายใน 1 นาที ผ่านระบบอัตโนมัติมีทั้ง Linux / Windows / DirectAdmin
สอบถามข้อมูลและแจ้งปัญหา 02-105-4417 ตลอด 24 ชั่วโมง

tdelphi

ขอเสริมจากคุณ websnow ละกันครับ

พอดี ผมได้เข้าไปตรวจปัญหาแล้ว พบว่า ปัญหาหนึ่งคือ Apache Connection มีการเต็ม MaxClients อย่างรวดเร็ว

เช๊ค code แล้วพบว่า มีการ include file ผ่าน http แทนที่จะเ็ป็น local file

เช่น 
$header = implode('', file('http://www.xxx.com/inc/header.txt'));
$footer = implode('', file('http://www.xxx.com/inc/footer.txt'));

โดยที่ www.xxx.com นั้น เป็นเครื่องเดียวกัน ซะด้วย

ปัญหานี้ เวลามี user เข้ามา 1 คน ก็จะสร้าง http connection เพิ่มอีกสอง process เพื่อดึงไฟล์ header.txt  กับ footer.txt มาใ้้ช้งาน
(ของจริง ดึงราวๆ 6 ไฟล์ ใน page เดียว)

ดังนั้น ถ้า user เข้ามา 100 คน connection ก็หมดไปหลายเท่า พรวดๆ ตามจำนวนไฟล์คูณเข้าไป
ถ้าเป็นเวปที่ เขามีคนเข้าวันละ 90,000 uip และ pageview ห้าแสน แทบไม่อยากนึกภาพ   :wanwan009:

ส่วนปัญหาอื่นๆ ได้ปรับจูนแก้ไขไปแล้ว ติดปัญหาเรื่อง coding อย่างเดียว  คุณ ronin รับทราบแล้ว กำลังดำเนินการเพิ่ม Ram เป็น 24GB และ แก้ code ตามที่ผมบอกอยู่
เด๋ว รอดูผลกันครับ

ปล. ขอบคุณ WebSnow ด้วยครับ ที่ช่วยเหลือเรื่องค่า config ปรับจูน แบบละเอียดลงลึก

Zinobu

อ้างถึงจาก: WebSnow ใน 29 มิถุนายน 2012, 15:02:38
จากที่ส่งมาให้ดู

1) เครื่องนี้ไม่โดน DDOS ประเมิณคร่าวๆเท่าที่พิมพ์มาให้ดู
2) my.cnf ควรปรับใหม่
ปรับค่าไม่สมดุลกับ Hardware spec ที่มีอยู่
ตามที่ให้มาปรับไม่เหมราะกัยเครื่องไป 60% ผมจะไม่กล่าวรายละเอียดมากเพราะว่าต้องพิมพ์เยอะ
ปรับ buffer เยอะเกินไป
และ max_connection สูงไป ถ้าวิ่งจริงๆ server จะล่มไปก่อน เนื่องจาก Ram ไม่พอ 

นอกจากว่า จะใช้ mysql persident connection เพื่อ performance  และมี ram มากพอ

ถ้าเว็บขนาดใหญ่ มีการ write เยอะๆ ถ้าเปลี่ยน mysql engine เป็น innodb ก็จะดี เพื่อเว็บไหลคล่องไม่ให้เหกิดปัญหา table lockและไม่ต้อง คอย repair db

3)ปรับ Apache ไม่สมดุลกับ Hardware ที่มีอยู่
ต้อง tune ใหม่ ควรปรับใหม่ ค่าต่างๆสูงเกินไป hardware รับไม่ไหว จะทำให้ server hang หรือมี process เยอะเกินไปรอคิวการประมวลผล
เช่น

ServerLimit  4096
MaxClients  4096

โดยทั่วไปเว็บที่ใช้ php มี 4 แสนกว่า page views ก็ปรับค่าไม่ถึงนี้
สองค่าด้านบน จะทำให้ให้ server ล่มไปก่อน เนื่องจาก ram มีเพียง 12 GB เมื่อ ram ใช้หมดไปต่อไปจะใช้ Swap แทนใน HDD
พอใช้ Swap เว็บจะเริ่มช้า  พอ SWAP เต็ม หลังจากนั้น CPU  avg load จะขึ้นเป็นหลักร้อย ทำให้ Sever Hang ในที่สุด

สูตรคำนวณ ServerLimit and MaxClients  ที่ทำงานได้ดี server ไม่ล่ม

( Total Ram -  Mysql Ram - OS  - OS Cache) / apache per connect  = max client

ค่าต่างๆดูจาก top และ atop
เช่นมี total Ram = 12 GB ,ใช้ mysql 2GB, OS =1GB, OS cache =3GB, Apache per connection = 16MB

(12 - 2 - 1 -3 )0.016 = 375 Max_Clients

375 สามารถขยับได้ขึ้นอีก แล้วรอดูผลการโหลด เช่น ขยับไป 400 500 700
ปรับขึ้นได้เนื่องการโหลดแต่ละชุุด Apache per connection อาจจะใช้น้อย ส่งผลให้ใช้ ram น้อย
ผลข้างเคียงเมื่อปรับสูงมากไป พอไปเจอช่วง แต่ละ connection ใช้ ram สูงๆพอรวมกันมากๆ server จะค้าง และโหลดสุงลิ่ว

KeepAliveTimeout ควรลดลงมา 2-3

4)RAM ไม่พอ ดูจาก TOP ที่ส่งมาให้ดู แนะให้เพิ่ม RAM อีก 12 GB รวมเป็น 24GB
ดูจาก Top เห็น 58.0%wa เกิดจาก Ram หมด แล้วมันไปใช้ disk IO wait สูง.
Ram 66,648k free พอมันจะหมดมันจะไปใช้ Swap แทน
Swap ถูกใช้ไป 1,694,908k used
1.6 GB ถูกใช้ใน Swap เขียนและอ่านใน HDD จะทำให้เกิด Disk IO ทำให้เว็บโหลดช้า ถ้า Swap เครื่องจะ Hang
Loadavg โหลดขึ้นไป 100 -1000 เลยทีเดียว

5) มี Apache = 1004 process
นี่คือปัญหาใหญ่ process เยอะมาก ผิดปกติ ทั้งที่ Avg Load ไม่สูง และ mysql ก็ใช้ cpu & ram  ไม่มาก แถมยัง mysql connection ยังสูงมากเหลือเฟือ
ปัญหาไม่น่าจะใช่ mysql
ถ้า run mysqladmin process ได้ผลมาว่าออกมาไม่มีคิวรอมาก ก็ใช่เลยไม่ใช่เกิดจาก mysql

Server spec นี้ ram ขนาดนี้ แล้วมี 1004 process ขนาดนี้ ถ้ามันทำงานปกติถ้า avg load จะสูงกว่า
ที่มี process จำนวณมาก ต้องสืบดูเชิงลึกว่าเกิดจากอะไร
ยกตัวอย่างกรณีหนึ่งที่ปํญหาคล้ายๆกัน
มี Web server ตัวหนึ่ง run apache and php อย่างเดียว แล้วเรียกรูปจาก อีก server ผ่าน NFS
อยู่มาวันหนึ่ง NFS server มีปัญหา ทำให้ web server เรียกรูปไม่ได้ พอไปดูที่ web server ปราฏกว่า process มากผิดปกติ เพราะว่าการทำงานแต่ละ process ไม่สิ้นสุด เลยมี process เพิ่มขึ้นเรื่อยๆ แล้ว apache connection ก็เต็มคนเข้าเว็บต่อไปอีกไม่ได้


เว็บเขียนเองควรต้องกลับไปดู code ใหม่ และใช้ PHP Performance Optimization
และ อาจจะต้องใช้ Ram based Caching เข้ามาช่วย ตรงส่วนของ web server

-----------------------
สิ่งที่ควรปรับปรุง
1)Tune Apache and MySql ใหม่
2)เพิ่ม Ram
3)PHP Performance Optimization
4)อาจจะต้อง แยก sub domain ไปโฮสอีกเครืองรันคู่ขนานกันไป เพื่อให้ process ของเครื่องหลักลดลงและเพิ่มการโหลดที่เร็ว ลดการทำงานของ main server ยืดอายุการใช้งาน

-----------------------

เกี่ยวกับ Performance จะทำเองก็ได้แต่อาจจะใช้เวลานานในการลองผิดถูกและสืบและแก้ไขปัญหา โดยเฉลี่ยไปกว่าจะเก่ง เรียนจบมาแล้วไปทำงานสายตรงแลมีประสบการณ์ทำงานกับเว็บขนาดใหญ่ใช้เวลาประมาณ 10ปีขึ้นไป
ถ้าต้องการไม่ให้เวลานานมากก็หาคนที่ความสามารถทางด้านนี้มาช่วย.

-----------------------
พอดีเมื่อวานได้พบพี่ต่อ tdelphi มาทักทาง msn และได้คุยกับ พี่ต่อและคุณ ronin2000 ทาง msn เว็บนี้คนเข้า 9 หมื่นกว่าคนต่อวัน และเขาได้ทำการ tune เครืองกันใหม่ น่าจะได้ผลดีในเร็ววัน.


ขอบคุณแทน จขกท ด้วยนะครับ  :wanwan017: :wanwan017: :wanwan017:
เช่า hostgatorเดือนแรก 0.01$ ใช้ Coupon Code: GATOR25BEST  เดือนต่อไปเพียงเดือนละ $9.95