เว็บโหลดรูปภาพช้า ไม่ทราบว่าเกิดจากอะไรได้บ้างครับ

load average ไม่ขึ้นนะ แต่เว็บเข้าช้า
เคยเจออาการแบบนี้ พอไปปรับ httpd.conf ปรับตรง MaxClients ให้มันเยอะขึ้น มันก็เร็วปู๊ดเป็นปกติ
ตอนนี้ย้าย server ใหม่ ยังไม่ได้ตั้งค่าอะไร แต่อาการนี้กลับมา เลยลองไปใส่ค่า httpd.conf แล้ว reboot แล้ว ก็ไม่หายครับ หรือผมใส่อะไรผิด

MaxKeepAliveRequests 1024
KeepAliveTimeout 10

<IfModule prefork.c>
StartServers 8
MinSpareServers 20
MaxSpareServers 40
ServerLimit 2048
MaxClients 2048
MaxRequestsPerChild 0
</IfModule>

<IfModule worker.c>
StartServers 5
MaxClients 2048
MinSpareThreads 10
MaxSpareThreads 35
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

^
^
อันนี้ก๊อบมาจากกระทู้นึงในเว็บนี้

สงสัยอีกอย่างว่าถ้าเราไม่ใส่ค่าอะไรพวกนี้ไป ค่า default เดิมของมันคืออะไร

อันนี้คือทั้งหมด

This is the main Apache HTTP server configuration file. It contains the

configuration directives that give the server its instructions.

See <URL:http://httpd.apache.org/docs/2.2&gt; for detailed information.

In particular, see

<URL:http://httpd.apache.org/docs/2.2/mod/directives.html&gt;

for a discussion of each configuration directive.

Do NOT simply read the instructions in here without understanding

what they do. They’re here only as hints or reminders. If you are unsure

consult the online docs. You have been warned.

ServerRoot “/etc/httpd”
Listen 80

#LoadModule dummy_module /usr/lib/apache/mod_dummy.so
#LoadModule php5_module /usr/lib/apache/libphp5.so
Include /etc/httpd/conf/extra/httpd-phpmodules.conf

User apache
Group apache

ServerAdmin admin@localhost
DocumentRoot “/var/www/html”

Options and AllowOverrides

Include conf/extra/httpd-directories.conf

<IfModule dir_module>
DirectoryIndex index.html index.htm index.shtml index.php index.php5 index.php4 index.php3 index.phtml index.cgi
</IfModule>

<FilesMatch “^.ht”>
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>

ErrorLog /var/log/httpd/error_log
LogLevel warn

<IfModule log_config_module>
#replace %b with %O for more accurate logging
<IfModule mod_logio.c>
LogFormat “%h %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"” combined
LogFormat “%h %l %u %t "%r" %>s %O” common
LogFormat “%O %I” bytes

  LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
&lt;/IfModule&gt;

CustomLog /var/log/httpd/access_log common

</IfModule>

<IfModule alias_module>
# Include some DirectAdmin alias
Include conf/extra/httpd-alias.conf
</IfModule>

DefaultType text/plain

<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-gzip .tgz
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler cgi-script .cgi
AddHandler type-map var
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType video/x-ms-asf .avi
AddType video/mpeg .mpg
AddType video/mpeg .mpeg
AddType video/quicktime .mov
AddType video/x-ms-wmv .wmv
</IfModule>

#EnableMMAP off
#EnableSendfile off

#######################################################################################

For user configurations not maintained by DirectAdmin. Empty by default.

#######################################################################################

Include conf/extra/httpd-includes.conf

#######################################################################################

Do not change anything in included files, because they are rewritten by DirectAdmin

#######################################################################################

This is needed for PHP

Include conf/extra/httpd-php-handlers.conf

Server-pool management (MPM specific)

Include conf/extra/httpd-mpm.conf

Multi-language error messages

Include conf/extra/httpd-multilang-errordoc.conf

Fancy directory listings

Include conf/extra/httpd-autoindex.conf

Language settings

Include conf/extra/httpd-languages.conf

User home directories

#Include conf/extra/httpd-userdir.conf

Real-time info on requests and configuration

Include conf/extra/httpd-info.conf

Virtual hosts

Include conf/extra/httpd-vhosts.conf

Local access to the Apache HTTP Server Manual

#Include conf/extra/httpd-manual.conf

Distributed authoring and versioning (WebDAV)

Include conf/extra/httpd-dav.conf

Various default settings

Include conf/extra/httpd-default.conf

Secure (SSL/TLS) connections

Include conf/extra/httpd-ssl.conf

Deflate module settings

Include conf/extra/httpd-deflate.conf

All the DirectAdmin vhosts

Include conf/extra/directadmin-vhosts.conf

All suPHP directives

Include conf/extra/httpd-suphp.conf

#######################################################################################

End of included files that are rewritten by DirectAdmin

#######################################################################################

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
Include “/etc/httpd/conf/mod_rpaf.conf”

MaxKeepAliveRequests 1024
KeepAliveTimeout 10

<IfModule prefork.c>
StartServers 8
MinSpareServers 20
MaxSpareServers 40
ServerLimit 2048
MaxClients 2048
MaxRequestsPerChild 0
</IfModule>

<IfModule worker.c>
StartServers 5
MaxClients 2048
MinSpareThreads 10
MaxSpareThreads 35
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

เช็คการทำงานข้อง HDD หรือ SWAP อะยังครับ มันหมุนไม่ทันอะป่าว

อันนี้ top ไม่ทราบมีอะไรผิดปกติหรือเปล่า

top - 10:55:51 up 14 min, 1 user, load average: 0.55, 1.55, 1.68
Tasks: 390 total, 2 running, 387 sleeping, 0 stopped, 1 zombie
Cpu(s): 2.9%us, 0.5%sy, 0.0%ni, 95.5%id, 1.1%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 16303240k total, 5722564k used, 10580676k free, 163404k buffers
Swap: 4194296k total, 0k used, 4194296k free, 2238284k cached

ส่วนนี้ปกติครับ

แปลกดี มันโหลดช้าเฉพาะรูป อย่างอื่นโหลดเร็ว

ผมลองใส่ httpd.conf ไปเยอะๆ

<IfModule prefork.c>
StartServers 80
MinSpareServers 200
MaxSpareServers 400
ServerLimit 20480
MaxClients 20480
MaxRequestsPerChild 00
</IfModule>

พอดู top

top - 11:11:18 up 30 min, 1 user, load average: 0.57, 0.51, 0.87
Tasks: 2377 total, 2 running, 2375 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.1%us, 0.8%sy, 0.0%ni, 95.1%id, 1.9%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 16303240k total, 8813768k used, 7489472k free, 183220k buffers
Swap: 4194296k total, 0k used, 4194296k free, 3234304k cached

ตรง Tasks เพิ่มจากเดิมเยอะเลย เยอะๆแบบนี้มันจะมีปัญหาอะไรหรือเปล่าครับ

แต่ยังไงรูปก็ยังโหลดช้าอยู่ดี

รูปใหญ่ ,Data bases

MaxClients เยอะเวอร์ไปรึเปล่าครับ ?

MaxClients คิดโดยคิดจาก total memory/50 ครับ หรือจะ /30 ก็ได้ ถ้าเขียนโค๊ดเองแล้วประเมิณเอา

และค่าของ MaxClients จะต้องเท่ากันกับ ServerLimit นะครับ

ในกรณีของคุณ memory 16gb ก็ควรจะอยู่ที่ราวๆ 327 โดยประมาณครับ ลดมันมาซะนะ

แก้ที่ /etc/httpd/conf/extra/httpd-mpm.conf

หลังจากนั้นไปปรับ KeepAlive จาก On ให้เป็น Off โดยปรับที่ /etc/httpd/conf/extra/httpd-default.conf


สำหรับที่ถามไว้

<IfModule prefork.c>
StartServers 80
MinSpareServers 200
MaxSpareServers 400
ServerLimit 20480
MaxClients 20480
MaxRequestsPerChild 00
</IfModule>

op - 11:11:18 up 30 min, 1 user, load average: 0.57, 0.51, 0.87
Tasks: [COLOR=#ff0000]2377[/COLOR] total, 2 running, 2375 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.1%us, 0.8%sy, 0.0%ni, 95.1%id, 1.9%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 16303240k total, 8813768k used, 7489472k free, 183220k buffers
Swap: 4194296k total, 0k used, 4194296k free, 3234304k cached

ที่มันขึ้นเป็น 2377 ก็เพราะว่า ServerLimits คุณเล่นปรับไปเป็น 20480 ไงครับ คือมันเยอะเวอร์ไป

ถ้าจะปรับเป็น 20480 นี่แรมคุณในเครื่องนี่ต้องใส่กันเป็น Tb เลยนะครับ


ถ้ายังไม่ดีขึ้น ทำ reverse proxy เอา nginx มารับรูป จบครับ ถ้าใช้รูปเยอะ

แต่ถ้าไม่ได้ใช้รูปเยอะ ก็ลองเอา apache server-status มาแปะให้ดูครับ

ผมลองดูเฉยๆครับว่า ถ้าปรับให้สุดๆ มันจะหายหรือเปล่า มันก็ไม่หายครับ

การปรับค่าใน
httpd.conf

กับใน
/etc/httpd/conf/extra/httpd-mpm.conf
/etc/httpd/conf/extra/httpd-default.conf

มันต่างกันหรือเปล่าครับ เราต้องปรับทั้ง 3 ไฟล์เหรอครับ
ผมไม่เคยเข้าไปปรับใน
/etc/httpd/conf/extra/httpd-mpm.conf
/etc/httpd/conf/extra/httpd-default.conf
มาก่อน

และการ สั่ง /usr/local/directadmin/scripts/disablenginx มีส่วนทำให้เกิดปัญหานี้ขึ้นหรือเปล่าครับ

ผมไปสั่ง /usr/local/directadmin/scripts/disablenginx ตามคำแนะนำในกระทู้นี้

ทีนี้พอสั่งกลับเป็น /usr/local/directadmin/scripts/enablenginx

เว็บเข้าไม่ได้เลย

แสดงว่ามัน access file ถี่เกินจริงๆ หรือมีวิธีการเรียกรูปผิดวิธีครับ (เช่นเรียกผ่าน script ไม่ได้ call ไปที่ไฟล์ตรงๆ)

ไม่น่าจะผิดที่วิธีเรียกนะครับ หรือถ้าผิดก็ผิดมาเป็นปีๆแล้ว ไม่มีปัญหาอะไร เพราะตัวเว็บใช้โค้ดเดิม แต่ย้าย server ใหม่
แล้วเมื่อวานนี้ก็ยังใช้ได้เร็วอยู่เลย คาดว่าน่าจะเกี่ยวกับการสั่ง การ สั่ง /usr/local/directadmin/scripts/disablenginx

พอสั่งกลับ /usr/local/directadmin/scripts/enablenginx มันเหมือนไม่ผ่าน

[root@server-show scripts]# /usr/local/directadmin/scripts/enablenginx
Nginx is enabling on port 80 and apache moving to port 8888
Debug mode. Level 200

pidfile written
staring queue
dataskq: command: action=rewrite&value=httpd
dataskq: command: action=rewrite&value=ips
done queue
Stopping httpd: [ OK ]
Starting httpd:
Starting nginx: nginx: [emerg] “location” directive is not allowed here in /etc/danginx/daproxy.conf:45
[FAILED]
Done

ไม่ทราบจะแก้ยังไง

--------------------------------- edit -----------------------------------------

แก้ได้แล้วครับ มันเกี่ยวกับ nginx จริงๆด้วย
ผมไปแก้มัน จากการทู้นี้
[h=1][SIZE=1]http://www.thaihosttalk.com/showthread.php/75058[/SIZE][/h]ตอนนี้สั่งเปิดใหม่ รูปขึ้นเร็วเหมือนเดิมแล้วครับ

ขอบคุณทุกคนมากครับที่ช่วยกันแนะนำ คนที่นี่ใจดีจริงๆ :d5f02ecd: