経験上、ある一定のスペックのサーバーさえ用意できれば数百万件レベルのデータであればパフォーマンスの問題は少ないと思います。

とは言っても「最近、少しレスポンスが悪いかな。。。」と思ったら以下の3つのポイントを確認し対応してみてください。

サーバー環境

php.iniファイルの内容を確認してください。以下の内容は改善のための推奨値になります。

  1. file_uploads = on
  2. upload_max_filesize = 5M or higher
  3. display_errors = on
  4. sql.safe_mode = off
  5. max_input_vars = 10000
  6. max_execution_time = 600
  7. memory_limit = 512M or higher
  8. post_max_size = 128M
  9. max_input_time = 120
  10. register_globals = Off
  11. output_buffering= On
  12. error_reporting = E_WARNING & ~E_NOTICE
  13. allow_call_time_reference = On
  14. log_errors = Off
  15. short_open_tag= On
  16. suhosin.simulation = on
  17. extension=php_gd2.dll
  18. extension=php_imap.dll
  19. extension=php_mysql.dll
  20. extension=php_mysqli.dll
  21. 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のバックアップを行った上で実施してください。

以上になります。