2016-09-08 5 views
0

私はこのトピックに戻っ設定OrientDb - パフォーマンスとキャパシティ

私は

  • 1 milion研究(PSQ)
  • 1 milionの出版物(パブ)
  • 12.5 milionエッジを持つデータベースを持っていますpsqとpubの間

私はこのクエリを実行します

SELECT 
    psq1.psq_nome AS nomePesquisador, COUNT(pub1) AS qtdPub 
FROM 
    (MATCH 
     {class:Pesquisador, as:psq1}.outE("PUBLICOU").inV(){as:pub1} 
    RETURN psq1, pub1) 
GROUP BY 
    psq1 
ORDER BY 
    qtdPub DESC, nomePesquisador 
LIMIT 1000; 

OR

SELECT out.psq_nome AS nomePesquisador, COUNT([email protected]) AS qtdPub 
FROM Publicou 
GROUP BY out.psq_nome 
ORDER BY qtdPub DESC, nomePesquisador 
LIMIT 1000; 

するとメモリヒープ私はこれを実行可能にするために、OrientDbを設定する方法

のエラーがあるのですか?

答えて

1

チューニングで最も重要なことは、メモリ設定が正しいことを保証することです。実際の違いを生むには、ヒープとメモリマッピングで使用される仮想メモリ、特にメモリ内のキャッシュ構造が生のIOよりも少ない大規模なデータセット(GB、TBなど)で適切にバランスをとることです。

たとえば、Javaプロセスに最大8GBを割り当てることができれば、小さなヒープと大容量のディスクキャッシュバッファ(オフヒープメモリ)を割り当てるほうがよいでしょう。そうではなく:

java -Xmx8g ...

あなたは代わりに、これを試みることができる:

java -Xmx800m -Dstorage.diskCache.bufferSize=7200 ...

参考:Performance Tuning

関連する問題