簡體   English   中英

Foxx應用程序似乎未編譯

[英]Foxx app seems not compiled

我在PC Ubuntu和Mac上使用ArangoDB已有一段時間,沒有任何問題。 通常,我的Foxx應用程序在Mac上的運行速度是PC上的4-5倍。

我在兩台機器上都使用了版本2.7.3。 現在,Mac比PC慢。 更糟糕的是,比應用程序處於“生產”或“開發”模式時,她的工作速度相同。 我對“生產”模式的編譯的現實存在疑問。 但是,命令“ foxx-manager list”根據選擇的模式返回正確的“ true”和“ false”。

有沒有辦法檢查應用程序的腳本在編譯模式下能否正常運行? 一條建議?

很抱歉,我無法共享我的數據。
這是我在兩台計算機上用來測試CouchDB和ArangoDB訪問的代碼。 它極簡,在CouchDB和ArangoDB上均不引入任何個人代碼,使用HTTP並在本地工作。

import requests
import time

LOOP = 500

CDB_SESS = requests.Session()
CDB_SESS.stream = False
CDB_SESS.headers.update({'content-type': 'application/json; charset=utf-8'})

ADB_SESS = requests.Session()
ADB_SESS.stream = False
ADB_SESS.headers.update({'content-type': 'application/json; charset=utf-8'})

if __name__ == '__main__':
    print 'CouchDB'
    START = time.time()
    for x in range(LOOP):
        _rsp = CDB_SESS.get('http://localhost:5984/')
        value = _rsp.json()
    STOP = time.time()
    print (STOP - START)

    print 'ArangoDB'
    START = time.time()
    for x in range(LOOP):
        _rsp = ADB_SESS.get('http://localhost:8529/_db/_system/_api/version')
        value = _rsp.json()
    STOP = time.time()
    print (STOP - START)

這兩個循環的區別僅在於所使用的URL。 數據庫只運行內部代碼,而不運行我的數據庫,對不對?
是否認為瓶頸是來自Python或來自請求,是否在兩個數據庫中以相同的方式作用於此?

今天,我把PC放在一邊,並在MAC上工作。
我卸載了ArangoDB(通過brew卸載arangodb)並清除了目錄var / lib中的內容。 然后我重新安裝了它(棕色安裝arangodb),而沒有傳輸我的數據或任何Foxx應用程序。 一次安裝 我唯一的操作是修改了v8-contexts = 1。

我進行了3次以上的測試。 結果如下:
-CouchDB:1.54s,1.49s,1.49s
-ArangoDB:1.05s,1.04s,1.05s

結果與先前獲得的結果完全相同。
我必須記錄我的數據(不存在)或Foxx應用程序(不存在)嗎?

我做了一些測試。
我在兩台計算機上使用的版本相同:
-CouchDB 1.6.1
-ArangoDB 2.7.3
-請求2.9.1
除了python:
-PC 2.7.6
-MAC 2.7.11

兩台機器上的測試代碼相同。 我發射了3次,以防萬一。 CouchDB和ArangoDB上的數據在PC和MAC上相同。

第一個測試是一個循環,僅讀取CouchDB上的500條記錄(我的源代碼):
-在PC上:53.36s,53.66s,53.59s
-在MAC上:5.70s,5.86s,6.01s
MAC是9-10倍的速度。 減速並非來自我的數據源,對嗎?

第二個測試是在CouchDB上循環500'http :// localhost:5984 / ',在ArangoDB上循環500'http :// localhost:8529 / db / system / _ api / version。 我的代碼不干預,對嗎?:在PC上:
-CouchDB:20.02s,20.01s,20.01s
-ArangoDB:0.48s,0.37s,0.38s
“哪個版本是您的版本?”的速度差異 大約是40。

在MAC上:
-CouchDB:1.48s,1.49s,1.61s
-ArangoDB:1.07s,1.07s,1.13s
區別在哪里?

經過大量研究和討論,我們發現了兩個問題:

  • 我們用於API文檔的swagger.io花費了很長時間才能在Safari中呈現; 我們更新到了最新版本。
  • 蘋果通過El Capitans xcode和clang引入了性能回歸,將ArangoDB的速度降低了7倍。 使用較舊的xcode或GCC不會產生緩慢的二進制文件。 最新的公式現在強烈建議不要使用clang

在github問題#1629中進行了進一步的討論

暫無
暫無

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

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