黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

使用Python設置tmpfs來加速項目的教程

系統 2039 0

?對我當前工程進行全部測試需要花費不少時間。既然有 26 GB 空閑內存,為何不讓其發揮余熱呢? tmpfs 可以通過把文件系統保存在大內存中來加速測試的執行效率。

但優點也是缺點,tmpfs 只把結果保存在內存中,所以你必須自己編寫腳本來把結果回寫到磁盤上進行保留。而且這些腳本必須良好書寫和執行,否則就要失去部分或全部的工作成果了。

一種常見的方法是直接在tmpfs文件夾中工作,然后把工作成果備份到磁盤上的一個文件夾中。當您的機器啟動時你從那個備份文件夾恢復tmpfs文件夾。啟動之后用cron同步tmpfs文件夾和磁盤文件夾。


我發現這個設置有點復雜容易出錯。在啟動的時候,或者對于crom,我從沒有真正的相信。現在我用一種簡單得多的設置,根本不用cron。

在我的機器上運行一個單項測試,使用IDE并發布于web服務器,其性能通常是合理的,只有運行全部測試需要許多時間。

我發現最佳之處是在磁盤上設置一個workspace,與/dev/shmand目錄下運行所有測試的tmpfs同步。這或多或少使我的設置無需改變,并消除了可能松散的工作,這些僅僅是因為我在正確設置方面太垃圾了。


性能提升的結果是合理的:
?

            
$ nosetests && run_tests.py
........................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 248 tests in 107.070s
 
OK
........................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 248 tests in 19.423s
 
OK

          

現在比原來提高了 5 倍速度。

使用 python 來進行設置非常簡單:
?

            
#!/bin/bash -e
 
WORK=src/py
LOG=$(pwd)/test.log
TARGET=$(hg root)
SHADOW=/dev/shm/shadow/$TARGET
 
date > $LOG
mkdir -p $SHADOW
 
cd $SHADOW
rsync --update --delete --exclude=".*" --exclude=ENV --archive $TARGET ./..
 
if [ ! -d ENV ]
then
  virtualenv ENV
fi
. ENV/bin/activate
 
cd $WORK
python setup.py develop >> $LOG
nosetests $* | tee -a $LOG
exit ${PIPESTATUS[0]}

          

我只要重復同步到/dev/shm目錄,設置測試環境(virtualenv and python setup.PY)和運行測試(nosetests)。

在tmpfs文件夾里仍可用命令行運行單個測試。也可以把這個從你的IDE中踢走,但你會失去你的測試運行和調試的能力。如我之前所說,我現在不需要這些。

我希望我對tmpfs的這個變通使用能幫助你建立一個更快速的開發環境,而無須遭受所有的腳本麻煩。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論