我試圖在我的觀點的第一行添加sleep(30)
。之後,我在兩個瀏覽器選項卡中打開此頁面。第一個標籤在30秒後加載頁面,第二個在60秒內加載頁面。與此同時,我能夠從另一臺電腦打開頁面。所以它看起來像Django阻止來自同一客戶端的併發請求。爲什麼Django在同一會話中阻止同時發生的請求?
這是非常適合我的應用程序。我想確保我的網站將在未來以這種方式工作。但是我還沒有找到任何描述這種Django行爲的文檔或文章。所以我還不確定這是一項功能還是隻是一種財富。有人能解釋一下爲什麼這是可行的?
我真正需要的是在視圖處理時阻止會話。當然,我可以使用一些標誌或數據庫事務。但我不想添加已經在Django中實現的功能。
我使用Python 2.6.5,Django的1.4,Ubuntu的服務器,nginx的和uwsgi。試了postgresql和sqlite。
我uwsgi設置:
<uwsgi>
<pythonpath>/home/admin/app/src</pythonpath>
<app mountpoint="/">
<script>deploy.wsgi</script>
</app>
<workers>4</workers><!-- Not sure this is needed -->
<processes>2</processes>
</uwsgi>
我也有跟的runserver命令相同的效果。
你實際上在運行什麼服務器(ubuntu只是它運行的操作系統,而不是服務器本身)Apache? Gunicorn?你是否使用內置的Django服務器(即,python manage.py runserver)? –
對不起,我忘記了服務器:)剛更新了服務器的詳細信息。 – raacer
您是否可能使用某些基於瀏覽器的開發人員工具(例如:chrome開發工具:網絡)查看延遲是否正在消除加載時間? – Priyeshj