Israel +972 4 6308447         USA +1 619 831 0029             JAPAN +81 (0)50 5893 6263

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フォーマットに保存されている設定ファイルを参考にしてください。

4GB_2Cores_Windows

8GB_4Cores_Windows

16GB_8Cores_Linux

16GB_8Cores_Windows

24GB_8Cores_Windows

 

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 Agent CPU メモリー ネットワークカード CPU メモリー ディスク ネットワークカード
500 5 2 Cores 4 GB 1Gbit
1000 5 2 Cores 8 GB 1Gbit
5000 20 4 Cores 8 GB 1Gbit 2 Cores 8 GB 10K+ RPM HDD or SSD 1Gbit
5000 50 4 Cores 8 GB 1Gbit 4 Cores 12 GB 10K+ RPM HDD or SSD 1Gbit
10000 50 4 Cores 8 GB 1Gbit 4 Cores 16 GB 10K+ RPM HDD or SSD 1Gbit
15000 200 4 Cores 12 GB 10Gbit 8 Cores 16 GB 10K+ RPM HDD or SSD 10Gbit
30000 500 8 Cores 16 GB

10Gbit

8 Cores 24 GB 10K+ RPM HDD or SSD 10Gbit
250 5 50 2 Cores 6 GB 1Gbit
500 5 100 4 Cores 8 GB 1Gbit
1000 10 250 4 Cores 12 GB 1Gbit 4 Cores 8 GB 10K+ RPM HDD or SSD 1Gbit
5000 20 500 4 Cores 8 GB 1Gbit 4 Cores 12 GB 10K+ RPM HDD or SSD

1Gbit

10000 50 500 4 Cores 8 GB 1Gbit 8 Cores 16 GB 10K+ RPM HDD or SSD 1Gbit
15000 100 500 4 Cores 12 GB 10Gbit 8 Cores 16 GB 10K+ RPM HDD or SSD 10Gbit
15000 300 3000 8 Cores 12 GB 10Gbit 12 Cores 24 GB 10K+ RPM HDD or SSD 10Gbit
30000 500 15000 24 Cores 32 GB

10Gbit

16 Cores 64 GB 10K+ RPM HDD or SSD 10Gbit

 

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

Skip to content