OpenLM最適要件

推奨 #

  • バイナリーログが有効化されている場合、データベースユーザーはアップグレードスクリプトを実行するためにはSUPER権限が必要です。バイナリーログが有効化されているか検証するには、次のコマンドを実行してください:
    SHOW VARIABLES LIKE 'log_bin';
  • 現行ユーザーがSUPER権限を持っているか検証するには、次のスクリプトを実行してください:
    SELECT * FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE PRIVILEGE_TYPE = 'SUPER' AND REPLACE(GRANTEE,'''','') = CURRENT_USER();
  • ファンクションやプロシジャー作成を次のオプションを有効にして許可してください: log_bin_trust_function_creators.
    有効になっているか確認するには次のスクリプトを実行してください。
    SHOW VARIABLES LIKE 'log_bin_trust_function_creators';
  • もしレプリケーションが無効であるかポイントインタイムリカバリが必要なければ、別の選択としてバイナリログを無効化するべきです。
  • 1秒で複数のチェックアウト・チェックインを実行するコンパイラーには、通常より25-50%強いハードウェアを推奨します。
  • VMのアドミニストレーターはホストサーバーが要求されるリソースを収納できる事を必ず確認してください。
  • DBクエリーで低いパフォーマンスを目にしたら、ディスクキューを確認してください。
  • OpenLM Serverと同じデータセンターにデータベースを配置する事を推奨します。
  • 下記がMS SQLサーバーへの推奨です。
  • 下記にMySQL用にWindows(my.ini)やLinux(my.cnf)のサンプル設定ファイルを提供しましたが、データベース管理者(DBA)によって改訂しなければなりません。
  • VMネットワークコントローラーは各ネットワークカードで利用可能でなければなりません。
  • 大きいデータベース(25GB以上)で大きい負荷の場合、各データベースは3つのファイルと3つのVMディスクコントローラーを、データベースファイル、ログファイル、tmpファイル用に持つべきです。

 

MySQL使用の場合の最適実践 #

  1. 最新の5.7/8のMySQLリリースを使用してください。
  2. システムのリソースを有効活用するには、MySQLはその設定ファイルで正しい値が設定される必要があります(my.cnf/my.ini)。しかしながら、MySQLはそのホストマシンのリソースを最大限に利用する事はできません。いくつの設定を推奨します。あなたのシステムサイズに従って、Zipフォーマットに保存されている設定ファイルを参考にしてください。

MS SQL使用の場合の最適実践 #

  1. お客様は次のメインテナンス計画を適用する必要があります。
    a) 定期的な統計更新
    b) 定期的なリビルドかインデックスの再組織化
    DBA保持者はOpenLMデータベースにも会社のメインテナンス政策を適用する必要があります。政策等がない場合、公共のパッケージを適用できます(こちらを参照)
  2. (ほぼ)排他的に実行されているWindowsマシンでMSSQLサーバーに割り当てる推奨メモリーはマシンのメモリーの合計の80%を超えてはなりません。
  3. OpenLMデータベースはis_read_committed_snapshot_onパラメーターを設定しなければなりません。

    設定を確認するには:

    SELECT is_read_committed_snapshot_on FROM sys.databases
    WHERE name= 'YourDatabase'

    設定するには:

    DECLARE @sqlCommand varchar(1000)
    DECLARE @db_name varchar(50)
    
    SET @db_name = 'YourDatabase'
    
    SET @sqlCommand = 'ALTER DATABASE ' + @db_name + ' SET ALLOW_SNAPSHOT_ISOLATION ON '
    EXEC (@sqlCommand)
    
    SET @sqlCommand = 'ALTER DATABASE ' + @db_name + ' SET SINGLE_USER WITH ROLLBACK IMMEDIATE '
    EXEC (@sqlCommand)
    
    SET @sqlCommand = 'ALTER DATABASE ' + @db_name + ' SET READ_COMMITTED_SNAPSHOT ON '
    EXEC (@sqlCommand)
    
    SET @sqlCommand = 'ALTER DATABASE ' + @db_name + ' SET MULTI_USER '
    EXEC (@sqlCommand)
  4. より良いパフォーマンスのためには、別の論理ディスク(ある状況下では、物理ディスクでも)にtempdb、データベースとログファイルをインストールすることを推奨します。手堅いインストレーションは
    a) 1- tempdbデータ用ディスク (ssd設定推奨)
    b) 1- システムデータベース用ディスク(msdb、 model、 master)
    c) 1- 全ログ用ディスク(tempdbログ含む)
    d) 1- 全DBデータ用ディスク
  5. tempdbはとても重要な役割を持ち、全てのパラメーターや仮テーブルを保持し、ソートや集計を実行します。Tempdbデータファイルの数はプロセッサーの数通りが推奨されます。最大8 (それ以上はパフォーマンスに影響ありません)
  6. データベースファイルの自動増幅単位はデフォルトでパーセントに設定されており危険です。MB単位を使用するのが良くて実践的です。レコードサイズで掛け算して予測できる増幅に基づくのが良いです。どの場合でも、ディスクサイズにアラート設定をするのが推奨されます。
  7. あらかじめログサイズを設定する事を推奨します。
  8. クラッシュから再開したり、ログファイル増幅を制御できる定期的なバックアッププログラムが推奨されます。データベースのシュリンキング(縮小)は実践的には良くなく推奨されません。
OpenLM ServerデータベースServer
ユーザー数ポート数OpenLM AgentCPUメモリーネットワークカードCPUメモリーディスクネットワークカード
50052 Cores4 GB1Gbit
100052 Cores8 GB1Gbit
5000204 Cores8 GB1Gbit2 Cores8 GB10K+ RPM HDD or SSD1Gbit
5000504 Cores8 GB1Gbit4 Cores12 GB10K+ RPM HDD or SSD1Gbit
10000504 Cores8 GB1Gbit4 Cores16 GB10K+ RPM HDD or SSD1Gbit
150002004 Cores12 GB10Gbit8 Cores16 GB10K+ RPM HDD or SSD10Gbit
300005008 Cores16 GB

10Gbit

8 Cores24 GB10K+ RPM HDD or SSD10Gbit
2505502 Cores6 GB1Gbit
50051004 Cores8 GB1Gbit
1000102504 Cores12 GB1Gbit4 Cores8 GB10K+ RPM HDD or SSD1Gbit
5000205004 Cores8 GB1Gbit4 Cores12 GB10K+ RPM HDD or SSD

1Gbit

10000505004 Cores8 GB1Gbit8 Cores16 GB10K+ RPM HDD or SSD1Gbit
150001005004 Cores12 GB10Gbit8 Cores16 GB10K+ RPM HDD or SSD10Gbit
1500030030008 Cores12 GB10Gbit12 Cores24 GB10K+ RPM HDD or SSD10Gbit
300005001500024 Cores32 GB

10Gbit

16 Cores64 GB10K+ RPM HDD or SSD10Gbit

MariaDB使用の場合の最適実践 #

注意: my.iniファイルを変更前に必ずバックアップしてください

4GB : #

 
innodb_buffer_pool_size=2G
innodb_io_capacity=1000
innodb_open_files=2000
max_allowed_packet=500M
max_connections=500
max_heap_table_size=500M
thread_cache_size=256
tmp_table_size=500M
 
 

8GB : #

 
innodb_buffer_pool_size=5G
innodb_io_capacity=1500
innodb_open_files=3000
max_allowed_packet=1G
max_connections=500
max_heap_table_size=1G
thread_cache_size=500
tmp_table_size=1G
 

16GB : #

 
innodb_buffer_pool_size=12G
innodb_io_capacity=2500
innodb_open_files=5000
max_allowed_packet=1G
max_connections=500
max_heap_table_size=2G
thread_cache_size=1000
tmp_table_size=2G
 

24GB : #

 
innodb_buffer_pool_size=18G
innodb_io_capacity=3000
innodb_open_files=80000
max_allowed_packet=2G
max_connections=1000
max_heap_table_size=3G
thread_cache_size=2000

tmp_table_size=3G

Powered by BetterDocs

Leave a Reply