MySQLでCDRデータベースを最適化する

遅かれ早かれ、CDRのベースはかなりのサイズに成長します。 最適化するには、かなり簡単な方法がいくつかあります。

1. MySQLをアップグレードします。 新しいバージョンはそれぞれ、前のバージョンよりも高速です。 更新の問題はトピックの範囲を超えていますが、「バージョンを介して」ジャンプするときは、データベース全体をアンロードしてクリーンインストールに再度アップロードするのが最適です。

2. InnoDBを最適化します。 my.cnf構成では、次の設定をお勧めします。

innodb_buffer_pool_size = 256M ;    ,   RAM  . innodb_file_format = Barracuda ;    .  . innodb_buffer_pool_instances = 1 ;          ,  . innodb_change_buffer_max_size=10 ;  CDR      .     . innodb_flush_log_at_trx_commit=2 ;             . 


3.エンジンをInnoDBに変更します

 ALTER TABLE cdr ENGINE=InnoDB; 


4.パフォーマンススキーマを使用しない場合は無効にします(my.cnf)

 performance_schema=OFF 


5.クエリキャッシュ(my.cnf)を有効にします

 query_cache_type=1 query_cache_size=32M 


6.年の月に1つ、合計12個のパーティションを作成して、テーブルをパーティション化します。

 ALTER TABLE cdr PARTITION BY HASH (month(calldate)) PARTITIONS 12; 


7. SSDドライブではなく機械式ドライブがある場合は、圧縮形式に切り替えます。 このためには、Barracuda形式が必要です。

 ALTER TABLE cdr ROW_FORMAT=COMPRESSED; 


MySQL 5.6に関連する推奨事項

Source: https://habr.com/ru/post/J265221/


All Articles