経験上、ある一定のスペックのサーバーさえ用意できれば数百万件レベルのデータであればパフォーマンスの問題は少ないと思います。
とは言っても「最近、少しレスポンスが悪いかな。。。」と思ったら以下の3つのポイントを確認し対応してみてください。
サーバー環境
php.iniファイルの内容を確認してください。以下の内容は改善のための推奨値になります。
- file_uploads = on
- upload_max_filesize = 5M or higher
- display_errors = on
- sql.safe_mode = off
- max_input_vars = 10000
- max_execution_time = 600
- memory_limit = 512M or higher
- post_max_size = 128M
- max_input_time = 120
- register_globals = Off
- output_buffering= On
- error_reporting = E_WARNING & ~E_NOTICE
- allow_call_time_reference = On
- log_errors = Off
- short_open_tag= On
- suhosin.simulation = on
- extension=php_gd2.dll
- extension=php_imap.dll
- extension=php_mysql.dll
- extension=php_mysqli.dll
- extension=php_mbstring.dll
VtigerCRMの環境関連
不要なモジュールの非活性化
利用しないモジュールは、モジュールマネージャーでOFFにしてください。
共有アクセスの整理
共有アクセスは処理の都度アクセス権の計算を行うため、複雑になればなるほど処理時間に影響を及ぼす可能性があります。不要な例外設定や特権設定がある場合は削除することをお勧めします。
リスト表示の設定
データ件数が増えてくるとリスト表示が遅くなることがあります。この場合は以下のソースを修正することで改善する場合があります。
インストールディレクトリ/config.performance.php
28行目の値がtrueの場合はfalseに変更します。
MySQLの設定
以下の内容が改善のための推奨値になります。
- query_cache_size=100M
- innodb_buffer_pool_size=200M
- innodb_additional_mem_pool = 20M
- join_buffer_size = 8M
- tmp_table_size = 64M
- sort_buffer_size = 8M
- query_cache_limit =2M
- sql_mode = ‘’;
- default-storage-engine = InnoDB
- collation-server = utf8_general_ci
- character-set-server = utf8
以上の情報は下記サイトを参考に日本語化させていただきました。
https://crmtiger.com/blog/how-to-improve-your-vtiger-crm-performance/
なお、上記作業を実施するにあたっては、ソース、DBのバックアップを行った上で実施してください。
以上になります。