同一份程式、同一份資料庫, 連用 apache 跑的服務時, 有時要花一秒; 但連 django development server 時卻是瞬殺。
log 顯示, 不管連那種 web server, 我的程式都只花不到 0.05s。
用 Chrome Developer Tool 的 Resource 觀看, 慢的時候, 大部份時間是 waiting。
用 VNC 連到 server, 再從本機連 apache, 也是瞬殺。
從我的電腦或同事的電腦連 apache 都是有時會延遲, 我的情況比較頻繁。
同樣的連結點第二次時會變快, 但過一陣子再點似乎又會變慢。
我主要是測 AJAX + GET。
綜合以上線索, 我下了一個很腦殘的推論: apache 有鬼!! 不知是 apache 讀檔案還是做些奇怪的事, 或是 mod_wsgi 做奇怪的事, 造成延遲。也許 apache 有奇妙的 cache, 造成同一連結點第二次時會變快。
事後回顧發覺自己的推論太腦殘了, apache + 80 和 django development server + some port, 我卻忽略了 port 的事, 只看到 web server 的差異。差點要去找 apache 或 mod_wsgi profiling 的方法, 幸好有先和同事閒聊, 省了一堆工, 也放下心裡一塊大石頭。