作者 主題: .htaccess 設定導致 CPU 爆衝?  (閱讀 4805 次)

0 會員 與 1 訪客 正在閱讀本文。

vinta

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
.htaccess 設定導致 CPU 爆衝?
« 於: 2008-08-09 23:22 »
環境是 Apache 2.2.8, PHP 5.2.4, Ubuntu
機器是 Slicehost 的 VPS
目前只有用來架部落格:WordPress
之前檔案和資料庫都是放在虛擬主機上
前幾天才搬回來放在自己的主機

但是
就發生一件詭異的事
只要我在 .htaccess 加上這一段:

代碼: [選擇]
RewriteEngine On
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]

這一段是 WordPress 預設會產生的
只要在 .htaccess 加上這一段
過沒多久
整個網站就會變得很慢
然後我到 VPS 的管理介面中就會看到 CPU % 飆到三百多
平常的 CPU % 只有 4 到 7 而已



請問各位
CPU % 會突然爆衝的原因有可能是什麼?
如果要 debug 應該從哪裡下手?

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5384
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: .htaccess 設定導致 CPU 爆衝?
« 回覆 #1 於: 2008-08-10 08:05 »
access.log 呢?
也許只是那時間某些著名的 spider 剛好進來抓東西.

vinta

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
回覆: .htaccess 設定導致 CPU 爆衝?
« 回覆 #2 於: 2008-08-10 21:10 »
access.log 呢?
也許只是那時間某些著名的 spider 剛好進來抓東西.

我看了 access.log
比對了一下 CPU 爆衝時跟平常時候
發現兩者並沒有什麼太大的差別

頂多就是常常會出現這樣的 log

代碼: [選擇]
127.0.0.1 - - [09/Aug/2008:15:09:48 +0800] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.3 with Suhosin-Patch (internal dummy connection)"
我真的看不出個所以然啊................

anderson1127

  • 訪客
回覆: .htaccess 設定導致 CPU 爆衝?
« 回覆 #3 於: 2008-08-10 23:12 »
internal dummy connection

請善用Google找資料,用上面這個keyword一找就很多可以看!!

不過,我在想,最大的可能原因還是在於你的config有問題!! 但我沒興趣幫你Trouble shooting
因為你做為系統管理員,這是你的工作,也是責任!!

但還是提醒你一下,也許不一定是Apache的問題,所以還是在出問題時,用top看一下那個process
一直佔著CPU time最多的那個,確認一下是不是apache的process或者是php的process !!

我猜一下,也許是php 程式設計不良形成的無限迴圈造成的也說不定!!

vinta

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
回覆: .htaccess 設定導致 CPU 爆衝?
« 回覆 #4 於: 2008-08-11 00:12 »
之前就查過 internal dummy connection 這詞了
不過 Apache 官方的 wiki 都說可以忽略啦
所以應該是沒什麼關係

不過說到迴圈
好像真的就是什麼東西引起的迴圈
問了一下 Google
找到這一篇:http://forum.slicehost.com/comments.php?DiscussionID=2116

他把 .htaccess 改成這樣

代碼: [選擇]
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/blog
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.+$ /blog/index.php [L]

不過我試了一下還是不行~~~