2012-10-02 65 views
2

我已經在Windows Server 2012上設置了Piwik,並且我正在導入約20Gb的歷史日誌文件,分佈在10個不同的站點上。如何讓Piwik日誌導入程序在Windows/IIS上運行得更快?

我已經將每個站點的日誌文件合併爲幾個大文本文件,因爲通配符導入在Windows上是不可能的。

導入過程已經過去了很長時間,目前我只能在具有16Gb RAM的四核服務器上獲得大約25個記錄/秒

我該如何加快速度?

回答

1

我發現加快Windows上的Piwik日誌導入的關鍵是- 記錄器設置。

Piwik文檔推薦與服務器上的CPU核心數量相同的記錄器,但我認爲這是假設CPU是瓶頸。在我的情況下,我只能獲得大約5%的CPU利用率,所以顯然還有其他一些東西阻礙了它。我懷疑這是我的PHP/IIS/MySQL設置,因爲Piwik前端也有點呆滯。

我添加--recorders = 64,現在我得到一個更可敬170條/秒

雖然這仍然感覺有點慢,所以任何其他建議都會受到歡迎。

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條記錄的速度在四核i5上使用8個刻錄機,這些刻錄機擁有16 GB RAM,並且只有一個用於Mysql的磁盤。

我的配置使用Apache 2.2與mod_fcgid使用命令行客戶端運行PHP。我還使用APC來緩存已編譯的PHP代碼。 Mysql是v5.5。所有在Ubuntu 12.10上運行。