Description
DB軽量化 #151
問題点
スクリプトでのログ移動は、dbに負荷がかかる
また、それによってテーブルの最適化が必要になる
対応
直接ログdbに入れた方が早い
DB軽量化 #151
スクリプトでのログ移動は、dbに負荷がかかる
また、それによってテーブルの最適化が必要になる
直接ログdbに入れた方が早い
https://docs.google.com/spreadsheets/d/1rYxsG6kN5TTluf_hWx0l6_gmnQOoxpxW7UJbMJ7l1aY/edit#gid=0
select: ゲーム内でselectしているか
cpanel: 管理画面で参照しているか
aggre: 集計して保存しているか
+--------------------------------------+-----------+--------+---------+----------+--------+--------+--------+
| table_name | record | ALL_MB | DATA_MB | INDEX_MB | select | cpanel | aggre |
+--------------------------------------+-----------+--------+---------+----------+--------+--------+--------+
| log_commerce_friend_data | 27386434 | 13462 | 12281 | 1181 | x | x | x |
| log_bell_change | 119447999 | 13006 | 5954 | 7052 | x | o | table |
| log_commerce_data | 23086000 | 10346 | 9829 | 517 | x | x | x |
| log_stage_change | 64904485 | 5622 | 2749 | 2873 | x | x | x |
| log_item | 77224660 | 5532 | 4300 | 1232 | x | o | table |
| log_material_request | 63916048 | 3788 | 2872 | 916 | x | x | x |
| log_user_material_item | 44512313 | 3518 | 2078 | 1440 | x | x | table |
| log_yamada_payment | 1529404 | 2984 | 1061 | 1923 | x | o | table |
| log_card | 25971620 | 2946 | 2537 | 409 | x | o | table |
| log_team_raid_monster_per_damage | 22328812 | 2624 | 1209 | 1415 | x | x | x |
| log_user_area_item | 33689223 | 2581 | 1450 | 1131 | x | x | table |
| log_user_event | 28062841 | 2091 | 1557 | 534 | x | x | x |
| log_commerce_deck | 22616453 | 2089 | 1384 | 705 | x | x | x |
| log_user_blue_ball | 17151315 | 1934 | 918 | 1016 | o | o | x |
| log_teamwar_reward_gold | 13099297 | 1439 | 747 | 692 | o | x | x |
| log_hau_login | 29074294 | 1187 | 1187 | 0 | x | o | x |
| log_user_build | 10359927 | 959 | 506 | 452 | x | o | x |
| log_team_emblem | 4331134 | 751 | 247 | 504 | x | x | x |
+--------------------------------------+-----------+--------+---------+----------+--------+--------+--------+
| log_del_present_box | 2674568 | 3872 | 3499 | 373 | o | o | table |
| log_gold_change | 22921658 | 2180 | 1150 | 1030 | x | o | table |
| log_gold_collect | 9170049 | 1892 | 1149 | 743 | o | o | x |
|直接jrye_logに入れるとして、
selectかcpanelがoの場合、該当コードのdb向き先をjryeからjrye_logに変更する必要がある
影響範囲が広く対応が難しいなら、スクリプトで一定時間おきにjryeからjrye_logへ移動させる(log_del_present_boxなどと同じ方法)
以下のテーブルは、6ヶ月以前のデータを保存する必要性が低い
・aggreがxのテーブルで、今後参照することがない
・aggreがx以外のテーブルで、集計されたデータが十分に意味を持つ
+----------------------------------+-----------+--------+---------+----------+
| table_name | record | ALL_MB | DATA_MB | INDEX_MB |
+----------------------------------+-----------+--------+---------+----------+
| search_log_team_bbs | 36317530 | 44357 | 43724 | 633 |
| search_log_del_present_box | 5232450 | 3844 | 3275 | 569 |
| log_user_daily_quest | 43889586 | 2611 | 2611 | 0 |
| dau_login | 2013220 | 1618 | 1576 | 42 |
| log_team_bbs | 1388807 | 1555 | 1524 | 31 |
| log_user_daily_quest_clear | 18414221 | 1355 | 849 | 506 |
| log_teamWar_attackList | 10422800 | 1127 | 537 | 590 |
+----------------------------------+-----------+--------+---------+----------+
| log_del_present_box | 61650053 | 84626 | 77465 | 7161 |
| log_gold_change | 471906783 | 48794 | 23855 | 24939 |
| log_gold_collect | 121005692 | 17292 | 11873 | 5419 |
| log_user_activity | 12733461 | 640 | 640 | 0 |
|search_log_team_bbsが大きいので対応が必須
本来であればdel_log_search.incで削除しているが実行していない
修正してコツコツ削除していくか、パーティションを設定した新テーブルとスイッチするか
ユーザ入力分はlog_team_bbsに格納されているので、削除自体は問題なし