如何使Piwik日志导入程序在Windows/IIS上运行得更快?

如何使Piwik日志导入程序在Windows/IIS上运行得更快?,iis,matomo,windows-server-2012,Iis,Matomo,Windows Server 2012,我已经在Windows Server 2012上安装了Piwik,我正在导入大约20Gb的历史日志文件,分布在10个不同的站点 我已经将每个站点的日志文件合并到几个大文本文件中,因为在Windows上不可能进行通配符导入 导入过程需要很长时间,我目前在一台16Gb内存的四核服务器上每秒只能获得大约25条记录 如何加快速度?我发现在Windows上加快Piwik日志导入的关键是--recorders设置 Piwik文档建议使用与服务器上CPU核心数量相同的记录器,但我认为这是假设CPU是瓶颈。在我

我已经在Windows Server 2012上安装了Piwik,我正在导入大约20Gb的历史日志文件,分布在10个不同的站点

我已经将每个站点的日志文件合并到几个大文本文件中,因为在Windows上不可能进行通配符导入

导入过程需要很长时间,我目前在一台16Gb内存的四核服务器上每秒只能获得大约25条记录


如何加快速度?

我发现在Windows上加快Piwik日志导入的关键是--recorders设置

Piwik文档建议使用与服务器上CPU核心数量相同的记录器,但我认为这是假设CPU是瓶颈。在我的例子中,我的CPU利用率只有大约5%,所以很明显,有其他因素阻碍了我的工作。我怀疑这是我的PHP/IIS/MySQL设置,因为Piwik前端也有点慢

我添加了--recorders=64,现在我得到了一个更体面的每秒170条记录


不过这仍然感觉有点慢,所以欢迎您提出任何其他建议。

我没有在Windows上运行此功能,但我通过调整Mysql InnoDB设置获得了一些不错的性能改进:

key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 256K
thread_cache_size = 16
innodb_buffer_pool_size = 2048M
innodb_log_file_size = 512M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 2
sync_binlog = 0
innodb_flush_method = O_DIRECT
transaction-isolation = READ-COMMITTED
但是要小心,其中一些设置会影响安全性。我目前以每秒1000条记录的速度运行,在四核i5上使用8台录像机,16 GB RAM,Mysql只有一个磁盘

我的配置是使用Apache2.2,mod_fcgid使用命令行客户端运行PHP。我还使用缓存编译的PHP代码。Mysql是v5.5。都在Ubuntu 12.10上运行