2013-03-01 18 views
5

Tôi đã tạo ra một triển khai cơ bản về ứng dụng khách cấp cao trên Neo4J (https://github.com/impetus-opensource/Kundera/tree/trunk/kundera-neo4j) và muốn so sánh hiệu suất của nó với trình điều khiển Native neo4j (và có thể cả SpringData nữa). Bằng cách này tôi sẽ có thể xác định trên không thư viện của tôi là đặt trên trình điều khiển bản địa.Neo4J Performance Benchmarking

Tôi định tạo tiện ích YCSB cho Neo4J.

Câu hỏi của tôi là: những gì nên được coi là đơn vị cơ bản của đối tượng được ghi vào neo4j (nên nó là một nút đơn hoặc một vài nút được nối bởi một cạnh). Thực tiễn hiện tại trong thế giới Neo4J là gì. Làm thế nào mọi người điểm chuẩn hiệu suất neo4j đang làm điều đó.

+1

hơi OT, nhưng tôi tự nhắc mình một số bài viết về đánh giá đồ thị db nói chung, có thể nó sẽ giúp: https://code.google.com/p/orient/wiki/GraphDBComparison và http: //ups.savba. sk/~ marek/gbench.html – ulkas

Trả lời

1

Một cách để kiểm tra hiệu suất là sử dụng ví dụ: http://gatling-tool.org/. Có công việc đang được tiến hành để tạo các khung chuẩn ở http://ldbc.eu. Nếu không, điểm chuẩn phụ thuộc nhiều vào tập dữ liệu tên miền của bạn và các truy vấn bạn đang cố gắng thực hiện. Có lẽ bạn có thể bắt đầu tại https://github.com/neo4j/performance-benchmark và cải thiện nó?

+0

Liên kết chết: https://github.com/neo4j/performance-benchmark – Relic

3

Xem graphdb-benchmarks

Dự án graphdb-benchmark là điểm chuẩn giữa dữ liệu đồ thị phổ biến. Hiện tại, framework hỗ trợ Titan, OrientDB, Neo4j và Sparksee. Mục đích của điểm chuẩn này là kiểm tra hiệu suất của từng cơ sở dữ liệu đồ thị theo thời gian thực hiện. Điểm chuẩn bao gồm bốn khối lượng công việc, Clustering, Massive Insertion, Single Insertion và Query Workload. Mỗi khối lượng công việc đã được thiết kế để mô phỏng các hoạt động phổ biến trong các hệ thống cơ sở dữ liệu đồ thị.

Khối lượng công việc nhóm (CW): CW bao gồm thuật toán phát hiện cộng đồng nổi tiếng để tối ưu hóa mô đun, Phương pháp Louvain. Chúng tôi điều chỉnh thuật toán trên cơ sở dữ liệu đồ thị được đo điểm chuẩn và sử dụng kỹ thuật bộ nhớ cache để tận dụng cả khả năng của cơ sở dữ liệu biểu đồ và tốc độ thực thi trong bộ nhớ. Chúng tôi đo thời gian thuật toán cần hội tụ.

Khối lượng công việc chèn lớn (MIW): Tạo cơ sở dữ liệu biểu đồ và định cấu hình để tải lớn, sau đó chúng tôi điền dữ liệu đó vào một tập dữ liệu cụ thể. Chúng tôi đo thời gian để tạo ra toàn bộ biểu đồ.

Khối lượng công việc chèn đơn (SIW): Tạo cơ sở dữ liệu biểu đồ và tải nó bằng một tập dữ liệu cụ thể. Mỗi lần chèn đối tượng (nút hoặc cạnh) được cam kết trực tiếp và biểu đồ được xây dựng theo từng bước. Chúng tôi đo thời gian chèn trên mỗi khối, bao gồm một nghìn cạnh và các nút xuất hiện trong khi chèn các cạnh này.

khối lượng công việc truy vấn (QW): Thực hiện ba truy vấn phổ biến: FindNeighbours (FN): tìm hàng xóm của tất cả các nút. FindAdjacentNodes (FA): tìm các nút liền kề của tất cả các cạnh. FindShortestPath (FS): tìm đường đi ngắn nhất giữa nút đầu tiên và 100 nút được chọn ngẫu nhiên.