我在Windows Server 2012上设置了Piwik,我正在导入大约20Gb的历史日志文件,分布在10个不同的站点上。
我已将每个网站的日志文件合并为几个巨大的文本文件,因为在Windows上无法导入通配符。
导入过程需要很长时间,目前我只能在具有16Gb RAM的四核服务器上获得 25记录/秒。
如何加快速度?
答案 0 :(得分:1)
我发现在Windows上加速Piwik日志导入的关键是 - 录像机设置。
Piwik文档建议在服务器上使用与CPU内核相同数量的刻录机,但我认为这假设CPU是瓶颈。在我的情况下,我只获得了大约5%的CPU利用率,所以显然还有其他东西可以解决问题。我怀疑这是我的PHP / IIS / MySQL设置,因为Piwik前端也有点迟钝。
我添加了 - 录音机= 64 ,现在我得到了更加可敬的 170条记录/秒。
虽然这仍然感觉有点慢,所以任何其他建议都会受到欢迎。
答案 1 :(得分:1)
我没有在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
但请注意,其中一些设置会影响安全性。我目前在一台四核i5上使用8台录像机运行大约1000条记录/秒,内存为16 GB,只有一个磁盘用于Mysql。
我的配置是使用Apache 2.2和mod_fcgid使用命令行客户端运行PHP。我也使用APC来缓存已编译的PHP代码。 Mysql是v5.5。全部在Ubuntu 12.10上运行。