Closed txxxxc closed 1 month ago
// 性格のリストを取得(別DBに保存できたら良さそう)(いうてisuの数が少ないから速度改善には寄与しなさそう)
err := db.Select(&characterList, "SELECT `character` FROM `isu` GROUP BY `character`")
imageを読み込んだり、余分にselectしてたからそれをなくした。 かなり早くなったんじゃないだろうか
だるすぎてハゲそう 16:06:19.231519 ERR: prepare: status code: 期待する HTTP ステータスコード以外が返却されました (expected: 200,304): 500 (GET: /api/trend) 16:06:19.231586 ERR: prepare: critical: アプリケーション互換性チェックに失敗しました
characterが予約後なだけでした
まえ2万くらいやから7000くらい上がった気がする
16:25:47.988135 SCORE: 11.ReadCriticalCondition: 38
16:25:47.988398 score: 27366(27368 - 2) : pass
16:25:47.988399 deduction: 0 / timeout: 21
16:25:47.988406 <=== sendResult finish
全然あがってないやんけ 16:28:37.729651 SCORE: 08.TodayGraphWorst : 521 16:28:37.729656 SCORE: 09.ReadInfoCondition : 612 16:28:37.729657 SCORE: 10.ReadWarningCondition : 632 16:28:37.729658 SCORE: 11.ReadCriticalCondition: 56 16:28:37.729937 score: 26332(26334 - 2) : pass 16:28:37.729947 deduction: 0 / timeout: 22 16:28:37.729952 <=== sendResult finish
なんかめっちゃ遅いかもですw
+-------+--------+------------------------------+-------+-------+-------+---------+
| COUNT | METHOD | URI | MIN | AVG | MAX | SUM |
+-------+--------+------------------------------+-------+-------+-------+---------+
| 415 | GET | /api/trend | 0.018 | 0.940 | 1.008 | 389.945 |
+-------+--------+------------------------------+-------+-------+-------+---------+
sumは増えてるけどね
characterにindexつけたら多少はマシになるかなぁ
これ結局テーブルフルスキャンしてもうてるからやばいのかも
"SELECT * FROM isu_condition
WHERE jia_isu_uuid
= ? ORDER BY timestamp DESC LIMIT 1",
てかフルスキャンしてるっぽい感じでした
redisを導入することでconditionテーブルのスキャン数をめっちゃ下げた
avgは下がったけどまだ一位ではある
+-------+--------+------------------------------+-------+-------+-------+---------+
| COUNT | METHOD | URI | MIN | AVG | MAX | SUM |
+-------+--------+------------------------------+-------+-------+-------+---------+
| 665 | GET | /api/trend | 0.030 | 0.627 | 1.023 | 416.706 |
| 80494 | POST | ^/api/condition/[\w\d-]+$ | 0.001 | 0.004 | 0.186 | 349.830 |
| 2012 | GET | /api/isu | 0.001 | 0.091 | 0.467 | 183.446 |
| 5723 | GET | ^/api/condition/[\w\d-]+$ | 0.004 | 0.031 | 0.201 | 180.024 |
| 1877 | GET | ^/api/isu/[\w\d-]+/graph$ | 0.001 | 0.039 | 0.220 | 73.480 |
| 2288 | GET | ^/api/isu/[\w\d-]+/icon$ | 0.001 | 0.023 | 0.180 | 53.328 |
| 2108 | GET | ^/api/isu/[\w\d-]+$ | 0.001 | 0.020 | 0.198 | 41.569 |
| 1144 | POST | /api/auth | 0.001 | 0.005 | 0.195 | 6.158 |
| 60 | POST | /api/isu | 0.002 | 0.075 | 0.282 | 4.516 |
| 806 | GET | /api/user/me | 0.016 | 0.005 | 0.197 | 4.218 |
| 436 | POST | /api/signout | 0.003 | 0.008 | 0.040 | 3.540 |
| 1114 | GET | / | 0.002 | 0.001 | 0.025 | 1.012 |
| 403 | GET | /assets/vendor.ee7444dd.js | 0.000 | 0.000 | 0.030 | 0.199 |
| 1 | POST | /initialize | 0.082 | 0.082 | 0.082 | 0.082 |
| 403 | GET | /assets/favicon.d0f5f504.svg | 0.000 | 0.000 | 0.030 | 0.065 |
| 403 | GET | /assets/index.23dac98b.js | 0.000 | 0.000 | 0.010 | 0.016 |
| 403 | GET | /assets/index.144d8ca8.css | 0.000 | 0.000 | 0.010 | 0.014 |
| 18 | GET | ^/isu/[\w\d-]+/condition$ | 0.000 | 0.000 | 0.001 | 0.008 |
| 3 | GET | /register | 0.001 | 0.001 | 0.001 | 0.003 |
| 6 | GET | ^/isu/[\w\d-]+$ | 0.000 | 0.000 | 0.001 | 0.002 |
| 6 | GET | ^/isu/[\w\d-]+/graph$ | 0.001 | 0.000 | 0.001 | 0.002 |
| 402 | GET | /assets/logo_orange.svg | 0.000 | 0.000 | 0.000 | 0.000 |
| 403 | GET | /assets/logo_white.svg | 0.000 | 0.000 | 0.000 | 0.000 |
+-------+--------+------------------------------+-------+-------+-------+---------+
+-------+--------+------------------------------+-------+-------+-------+---------+
| COUNT | METHOD | URI | MIN | AVG | MAX | SUM |
+-------+--------+------------------------------+-------+-------+-------+---------+
| 949 | GET | /api/trend | 0.023 | 0.756 | 1.003 | 717.729 |
| 87988 | POST | ^/api/condition/[\w\d-]+$ | 0.002 | 0.005 | 0.127 | 418.423 |
| 6554 | GET | ^/api/condition/[\w\d-]+$ | 0.014 | 0.038 | 0.197 | 250.883 |
| 2145 | GET | ^/api/isu/[\w\d-]+/graph$ | 0.001 | 0.049 | 0.169 | 104.372 |
| 2665 | GET | /api/isu | 0.011 | 0.037 | 0.142 | 98.919 |
| 3029 | GET | ^/api/isu/[\w\d-]+/icon$ | 0.006 | 0.026 | 0.148 | 79.624 |
| 2743 | GET | ^/api/isu/[\w\d-]+$ | 0.001 | 0.024 | 0.132 | 65.320 |
| 1222 | POST | /api/auth | 0.001 | 0.006 | 0.073 | 7.893 |
| 73 | POST | /api/isu | 0.003 | 0.090 | 0.216 | 6.580 |
| 1023 | GET | /api/user/me | 0.005 | 0.006 | 0.076 | 6.340 |
| 542 | POST | /api/signout | 0.009 | 0.010 | 0.084 | 5.400 |
| 1506 | GET | / | 0.001 | 0.001 | 0.022 | 1.204 |
| 520 | GET | /assets/vendor.ee7444dd.js | 0.000 | 0.000 | 0.013 | 0.183 |
| 1 | POST | /initialize | 0.091 | 0.091 | 0.091 | 0.091 |
| 520 | GET | /assets/favicon.d0f5f504.svg | 0.000 | 0.000 | 0.010 | 0.027 |
| 18 | GET | ^/isu/[\w\d-]+/condition$ | 0.000 | 0.000 | 0.001 | 0.008 |
| 520 | GET | /assets/index.23dac98b.js | 0.000 | 0.000 | 0.002 | 0.006 |
| 520 | GET | /assets/index.144d8ca8.css | 0.000 | 0.000 | 0.004 | 0.004 |
| 6 | GET | ^/isu/[\w\d-]+$ | 0.000 | 0.001 | 0.001 | 0.003 |
| 6 | GET | ^/isu/[\w\d-]+/graph$ | 0.000 | 0.001 | 0.001 | 0.003 |
| 3 | GET | /register | 0.001 | 0.001 | 0.001 | 0.002 |
| 519 | GET | /assets/logo_orange.svg | 0.000 | 0.000 | 0.000 | 0.000 |
| 520 | GET | /assets/logo_white.svg | 0.000 | 0.000 | 0.000 | 0.000 |
+-------+--------+------------------------------+-------+-------+-------+---------+
なんかいうて全然早くなってないので、trendの結果自体をcacheしてみようかしら
まあ一旦いい感じになったのでclose
api/trendが遅すぎるので改善します まずは実装読みましょう