ENV
- Ubuntu 18.04
- Apache2
- PHP 7.4
ปัญหาที่พบ
- apache2 ชอบ freeze เป็นระยะๆ น่าจะเกิดจาก client แต่ละ node สร้าง connection เยอะเกิน limit ของ apache
- ดู log
$ sudo tail /var/log/apache2/error.log
- พบ error ประมาณนี้
AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
Solved
$ sudo nano /etc/apache2/sites-available/your_doman.conf
- เพิ่มต่อบรรทัดสุดท้ายได้เลย
<IfModule mpm_prefork_module>
StartServers 4
MinSpareServers 20
MaxSpareServers 40
MaxRequestWorkers 200
MaxConnectionsPerChild 4500
</IfModule>
- ถ้ายังดู error.log ยังพบ MaxRequestWorkers ไม่พออยู่ ให้ปรับสัก 1500 เลย
<IfModule mpm_prefork_module> StartServers 10 MinSpareServers 10 MaxSpareServers 20 ServerLimit 2000 MaxRequestWorkers 1500 MaxConnectionsPerChild 10000
</IfModule>
- หรือจะไปแก้ที่ global file เลย สำหรับทุก ไซต์
$ sudo nano /etc/apache2/mods-available/mpm_prefork.conf
- รีสตาร์ท apache
$ sudo systemctl restart apache2
$ sudo /etc/init.d/apache2 restart
Ref
- https://www.linode.com/docs/guides/tuning-your-apache-server/
- https://help.thaidatahosting.com/kb/apache-performance-directadmin/
- https://th.linux-console.net/?p=1301#gsc.tab=0
- https://www.programmerthailand.com/tutorial/post/view/288/%E0%B9%81%E0%B8%81%E0%B9%89%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2-apache-error-maxrequestworkers
- https://ubiq.co/tech-blog/check-apache-modules-enabled/
- https://thiti.dev/blog/6245/
- https://softganz.com/paper/235
- https://stackoverflow.com/questions/36924952/ah00161-server-reached-maxrequestworkers-setting-consider-raising-the-maxreque
No comments:
Post a Comment