YOURLS で起こる DB の肥大化。

スポンサーリンク

 1 つ前の記事で DB の肥大化を解消する作業のメモを残したが、そもそも何故肥大化したのかと言う原因が YOURLS にあった。
 YOURLS は自鯖で短縮 URL を運用可能としてくれる PHP スクリプトで、短縮された URL に対応する長い URL を MySQL の DB に記録し続けていく。それだけならまだしも、短縮 URL をクリックする度にアクセスした人のログも DB に記録し続けるのである。
 そうなるとどうなるか。ひたすら DB が大きくなっていくのである。


 結局 YOURLS で記録される「アクセスログの様な物」って滅多に見ることも無いし、そもそも必要がないから使わない方が寧ろ幸せ。それではどう設定するのかと調べたら YOURLS_NOSTATS という項目があった。
 これを設定ファイル users/config.php の末尾にでもフラグ立てておけば OK。

define( 'YOURLS_NOSTATS', true );

 それから MySQL に接続して然るべきユーザーから YOURLS の DB に繋いで不要になるログを記録しているテーブルを空にしてあげる。

use yourls_db;
truncate table yourls_log;

 以上で短縮された URL に対するアクセスのログ (stats) が記録されなくなるので一安心。
 尚、短縮 URL の総アクセス数 1,100 万件で DB としてのサイズは 3GB 近くになっていた。今回の対応でそれが 250MB 程に縮小した。めでたしめでたし。

スポンサーリンク