2

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

我已将每个站点的日志文件合并为几个巨大的文本文件,因为在 Windows 上无法导入通配符。

导入过程需要很长时间,而我目前在具有 16Gb RAM 的四核服务器上只能获得大约25 条记录/秒。

我怎样才能加快速度?

4

2 回答 2

1

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

Piwik 文档推荐的记录器数量与服务器上的 CPU 内核数量大致相同,但我认为这是假设 CPU 是瓶颈。在我的情况下,我只得到了大约 5% 的 CPU 利用率,所以很明显还有其他事情在阻止。我怀疑这是我的 PHP / IIS / MySQL 设置,因为 Piwik 前端也有点迟钝。

我添加了--recorders=64,现在我得到了更可观的170 records/sec

不过,这仍然感觉有点慢,因此欢迎任何其他建议。

于 2012-10-02T07:59:43.437 回答
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

不过要小心,其中一些设置会影响安全性。我目前正在以大约 1000 条记录/秒的速度运行,在具有 16 GB RAM 的四核 i5 上使用 8 个记录器,只有一个用于 Mysql 的磁盘。

我的配置是使用带有 mod_fcgid 的 Apache 2.2,使用命令行客户端运行 PHP。我还使用APC来缓存已编译的 PHP 代码。mysql是v5.5。全部在 Ubuntu 12.10 上运行。

于 2013-07-18T10:03:40.140 回答