[發案] 資料庫優化
發案人:林先生
聯絡方式1:BBS信件給我你的LINE ID 我會請窗口聯繫你LINE
所在地區 :高雄為佳
有效時間:
專案說明:
網站運作穩定已經幾年, 但從5/25開始會有crash現象發生
1. crash時間:
- 固定早上10:00左右到下午16:00
- 周一到周五
- 一天會發生約5~6次crash
2. error log線索提供:
- server reached MaxRequestWorkers setting
- 我從預設的150拉到200,400, 1000,2000 還是一樣
- 不過CPU一直都維持50%以下, 所以資源很充足
- free -m查詢memory都非常有餘裕
3.
針對特別於10:00~16:00容易使用的訂單查詢頁面URI去設定限制流速
<Location "/URI">
SetEnvIf Request_URI "^URI$" is_orders
Order deny,allow
Deny from all
Allow from env=is_orders
<IfModule mod_ratelimit.c>
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 2
</IfModule>
</Location>
==> 失敗沒有效果
5. 唯獨能夠知道的線索是當機之前的inbound traffic會拉高
6. 系統已經穩定運作好幾年, 5/24號之前也沒有改過什麼code,
唯獨可能訂單增加或者商品增加而已
想請熟悉網站資源配置 (ubuntu, apache, mysql, php)的人可以幫忙釐清問題
並且修改
希望可以在我旁邊一起處理
我好開權限以及了解解決的邏輯
也方便我告知該注意之處
時間希望是周一到周五白天(因為主要是周一到周五才容易出現crash)
預算五千起, 如果看過需要更多可以討論
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.142.23.149 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/CodeJob/M.1685693941.A.AE5.html
※ 編輯: seft584f8 (220.142.23.149 臺灣), 06/02/2023 16:40:27
推
06/02 21:09,
1年前
, 1F
06/02 21:09, 1F
→
06/02 21:32,
1年前
, 2F
06/02 21:32, 2F
推
06/04 01:37,
1年前
, 3F
06/04 01:37, 3F
推
06/04 01:42,
1年前
, 4F
06/04 01:42, 4F
推
06/04 19:45,
1年前
, 5F
06/04 19:45, 5F
推
06/04 19:52,
1年前
, 6F
06/04 19:52, 6F
謝謝上面各位大師的參與討論
後來我突然想到會不會跟DB回應大小有關(資源不夠可能也會造成inbould traffic增加)
我想到mysql還是apache可能會相關的參數指定最大的大小
後來在/etc/mysql/my.cnf
在 [mysqld] 部分中添加或修改以下行:
max_allowed_packet = <value>
把數值從16M提高到32M 就運作正常了
(我還有順手作了加上防火牆的設定, 看能否降低一些惡外request)
(不過我看主要問題應該還是這個查詢程式前人沒寫好 & 訂單累積越來越多
在某個時間爆掉)
※ 編輯: seft584f8 (220.142.23.149 臺灣), 06/06/2023 18:01:43
※ 編輯: seft584f8 (220.142.23.149 臺灣), 06/06/2023 18:34:13
討論串 (同標題文章)
CodeJob 近期熱門文章
PTT數位生活區 即時熱門文章