Điều đầu tiên để xem xét, khi Neo4j không được thực hiện như mong đợi, là để đảm bảo rằng các truy vấn Cypher của bạn không làm việc nhiều hơn họ có. Ví dụ, một truy vấn có thể, unbeknownst cho tác giả, ủy thác việc sản xuất của một sản phẩm Descartes lớn; hoặc nó có thể thực hiện một đắt nhãn-scan, vì một sự kết hợp nhãn / tài sản nhất định không được lập chỉ mục. Chương 15, Query chỉnh chương có thêm thông tin về làm thế nào để điều tra vấn đề hiệu suất Cypher. Điều thứ hai để xem xét, là để đảm bảo rằng quá trình Neo4j Java có đủ bộ nhớ để làm công việc của mình. Nếu không có đủ bộ nhớ để giữ cho các cư dân JVM đống, sau đó hệ điều hành sẽ trao đổi nó ra để lưu trữ. Khi thu gom rác thải sẽ xảy ra, bộ nhớ heap hoán đổi phải được đổi chỗ ở một lần nữa, và cái gì khác sẽ phải được hoán đổi. Hiệu lực swap-trận đòn này có một tác động đáng kể về hiệu suất của các cơ sở dữ liệu, làm cho nó thực tế không sử dụng được. Một cơ sở dữ liệu Neo4j cũng chỉnh không nên có bất kỳ hoạt động trao đổi trong trạng thái ổn định của nó. Tiếp đến, hãy JVM có đủ bộ nhớ, và không tốn quá nhiều thời gian trong thu gom rác thải. Mục đích là để có một đống đủ lớn để tải nặng / cao điểm sẽ không cho kết quả như vậy gọi là GC-trashing.Số. Hiệu suất có thể giảm nhiều như hai đơn đặt hàng của một cường độ khi GC-sân đập xảy ra. Bắt đầu JVM với cờ -server và -Xmx
, F.ex. -Xmx512m Cho bộ nhớ 512 MiB hoặc -Xmx3g cho bộ nhớ 3GiB. Có đống quá lớn cũng có thể làm tổn thương hiệu, do đó bạn có thể phải thử một số kích thước heap khác nhau. Hãy chắc chắn rằng bạn đang sử dụng một bộ thu rác đồng thời. Chúng tôi thấy rằng -XX:. + UseG1GC hoạt động tốt trong hầu hết các trường hợp sử dụng Điều tiếp theo để xem xét, là các tập tin bộ nhớ cache. Neo4j sử dụng bộ nhớ cache trang riêng của mình cho các tập tin lưu trữ, và dựa trên hệ điều hành cho bộ nhớ đệm các tập tin chỉ mục. Hãy chắc chắn rằng các thiết lập dbms.pagecache.memory (trong neo4j.properties) là đủ lớn để phù hợp với toàn bộ cửa hàng, nếu có thể. Nhưng cũng chắc chắn rằng bạn không phân bổ bộ nhớ rất nhiều đến JVM và Neo4j cache, mà không có bộ nhớ để lại cho hệ điều hành để cache các tập tin chỉ mục Lucene. Để biết thêm thông tin về cấu hình xem Chương 24, Cấu hình & Performance.
đang được dịch, vui lòng đợi..