2012-03-12 138 views
0

我有一個WordPress插件,每隔一小時我的網站就會檢查自己的更新版本。在我的網站上,我有一個正在運行的腳本,用於偵聽此類更新請求並用數據進行響應。PHP腳本的分析,統計或日誌記錄信息

我想要實現什麼是這個腳本的一些基本分析,這可以給我信息,如每天不請求,沒有每天/周/月等

什麼是最好的方式唯一的請求去解決這個問題?

  1. 使用一些現有的分析腳本,可以在我的電腦上的文件來得到信息
  2. 登錄該信息在服務器和工藝上的文件做的工作對我來說
  3. 日誌信息服務器上的數據庫並使用查詢獲取信息

此外,每小時將有大約4000到5000個請求,所以無論採取什麼方法,都不應該在服務器上過於沉重。

我知道這是一個非常開放的問題,但我找不到任何有用的東西可以讓我開始在特定的方向。

+0

我可能會去數據庫解決方案。這有點沉重,但每小時只有4-5000個請求,這應該不成問題。一個實際的解決方案就是記錄每次點擊,並在查看統計數據時對其進行一些計算。 – 2012-03-14 14:04:59

+0

我會使用一個日誌文件。 idk任何#1和#3似乎很重,如果你已經有5K的請求。 – 2012-03-14 14:05:24

回答

3

哇。我很驚訝,這還沒有任何答案。不管怎麼說,這裏有雲:

1.使用現有的腳本/框架

很顯然,谷歌Analytics(分析)將不會爲你工作,因爲它是基於JavaScript。我確信那裏有PHP分析框架。無論您是否使用它們都是您個人選擇的問題。這些現有的框架是否記錄了你需要的一切?如果不是,他們是否容易被修改?你可以使用一個好的現有框架,並選擇不重新發明輪子。就我個人而言,我會爲自己的學習體驗寫作自己的作品。

我從頭到尾都不知道這樣的框架,因爲我從來不需要這樣的框架。我可以做一個谷歌搜索,並在這裏粘貼前幾個結果,但你也可以。

2.登錄文件或MySQL

絕對不會有很好的理由記錄到文件中。你首先將它記錄到一個文件中。然後寫一個腳本來解析這個文件。明天你決定要捕獲一些額外的信息。您現在需要修改您的分析腳本。這會變得混亂。我得到的是 - 您不需要在數據庫之前使用文件作爲中間存儲。 4-5k個小時的寫請求(我認爲除了查詢數據庫之外,還有很多讀請求)對於MySQL來說是輕而易舉的。此外,由於此數據庫不會用於向用戶提供數據,因此您不關心它是否稍微未優化。就我所見,你是唯一一個會查詢數據庫的人。

編輯: 當您談論使用文件時,我認爲您只是想將其用作臨時存儲,直到您處理文件並將內容傳輸到數據庫爲止。如果你不是這個意思,而是想將信息永久存儲在文件中 - 那將是一場噩夢。想象一下,試圖查詢分散在文件中的某些信息。你不僅需要編寫一個可以解析文件的腳本,你必須有一個非平凡的腳本,可以在不加載所有內容的情況下查詢腳本。這會變得非常,非常快,並極大地削弱你的能力,發現趨勢的數據等。

再次 - 4-5K可能看起來像很多的請求,但一個優化良好的數據庫可以處理它。查詢一個合理優化的數據庫將會大大超過解析和查詢大量文件的速度。

+0

這給了我一些開始的指針。謝謝。所以日誌文件對於性能和可維護性來說是一個很大的問題。我找不到任何基於PHP的分析框架。我的腳本工作的方式是,它從客戶端獲取POST請求,並通過簡單地打印序列化數據來回應。 – ronakg 2012-03-15 04:52:00

+0

我會說,寫你自己的框架。這是微不足道的,你會學習,你可以完全按照你的想法來定製它。你甚至可以在Github上開源,或者其他人可能會受益/貢獻。 – xbonez 2012-03-15 09:06:00

+0

可能此信息已被記錄到文件中。 Apache默認會這樣做。如果您需要一些基本統計信息的快速解決方案,awstats將解析日誌文件併爲您提供此信息。它不會像自定義腳本一樣好,但它可能會讓你停下來,直到你有時間寫它。 – Rob 2012-03-18 22:53:58

0

我會推薦使用現有的腳本或框架。使用人們投入大量時間和想法的專門工具總是一個好主意。由於您使用的是php Piwik似乎是一種方法。來自網頁:

Piwik是一個可下載的免費/自由(GPLv3許可)實時網絡分析軟件程序。它爲您提供在您的網站訪問者的詳細報告:搜索引擎,他們使用的關鍵字,他們講的語言,你的受歡迎的網頁...

Piwik提供了Tracking API,你可以跟蹤自定義變量。數據庫模式似乎高度優化,看看他們的testimonials page