簡體   English   中英

Arangodb foxx-應用性能不佳

[英]Arangodb foxx-application poor performance

我有自定義foxx應用程序的嚴重問題。

關於應用程序

該應用程序是用於在圖中查找路徑的自定義算法。 它針對公共交通進行了優化。 在init上,它將所有必要的數據加載到javascript變量中,然后遍歷它們。 它比每次訪問數據庫更快。

問題

當我第一次通過API訪問應用程序時,它很快,例如。 300毫秒。 但是,當我第二次完全相同的請求時,它非常慢。 例如。 7000ms。

你能幫我解決這個問題嗎? 我不知道在哪里尋找bug。

在不了解應用程序和代碼的更多信息的情況下,我只能推測原因。

潛在原因#1:發展模式。

如果您在開發模式下運行ArangoDB,則會為每個Foxx路由請求運行init過程,從而使預先計算的值無效。 您可以通過檢查arangod日志來發現您是否在開發模式下運行。 如果您處於開發模式,則會有相關的日志消息。

可能的原因#2:JavaScript變量是每個線程

您可以使用多個線程運行ArangoDB,從而運行Foxx,每個線程都有線程局部JavaScript變量。 如果您向Foxx路由發出請求,則服務器將選擇一個隨機線程來回答該請求。 如果此變量中的JavaScript變量仍為空,則可能需要首先填充它(這將是您的初始化調用)。 對於下一個請求,將再次挑選隨機線程以供執行。 如果已在此線程中填充JavaScript變量,則響應將很快。 如果需要填充變量,則響應將很慢。

在幾個請求(至少與--server.threads啟動選項中配置的數量)之后,每個線程中的JavaScript變量應該已經初始化,響應時間應該相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM