0
我一直在亨利馬烏致力於打造基於以下數據的推薦引擎:Mahout的建議性能問題
- 100K用戶
- 10K項目
- 4M評級
我m使用以下JVM參數在Tomcat上運行它:
-Xms1024M -Xmx1024M -da -dsa -XX:NewRatio=9 -server
建議花了大概6s,看起來很慢!我怎樣才能提高Mahout的表演?
我用下面的代碼:
這部分是在啓動時運行一次:
JDBCDataModel jdbcdatamodel = new MySQLJDBCDataModel(dataSource);
dataModel = new ReloadFromJDBCDataModel(jdbcdatamodel);
ItemSimilarity similarity = new CachingItemSimilarity(new EuclideanDistanceSimilarity(model), model);
SamplingCandidateItemsStrategy strategy = new SamplingCandidateItemsStrategy(10, 5);
recommender = new CachingRecommender(new GenericItemBasedRecommender(model, similarity, strategy, strategy));
而且,對於每一個用戶請求我做的:
recommender.recommend(userId, howMany);
瓶頸是數據庫訪問 –
@JulianOrtega'ReloadFromJDBCDataModel'從數據庫加載數據模型到內存,所以這隻需要一次,或者我失去了一些東西? – Thibaud
那麼,因爲你實際上沒有分享產生推薦的代碼,所以我不得不猜測 –