Linux

網路伺服器:在 /dev/shm 上儲存會話文件時的性能影響

  • May 4, 2010

我有一個在典型設置上執行的網站:Linux、Apache、PHP、MySQL。

然而,它的不典型之處在於它獲得了大量的流量(每天超過 400,000 次訪問),因此,效率對我來說變得越來越重要。

我一直在尋找可以優化的東西,現在,我的注意力集中在 PHP 的會話文件上。

在目錄中不斷地讀取和創建大量會話文件/tmp

所以我的問題是:將會話文件儲存在/dev/shm(tmpfs)中以加快速度是個好主意嗎?

  • 儲存在為此目的創建的記憶體支持的文件系統(如 tmpfs)中:也許。
  • 儲存/dev/shm不!

/dev/shm有一個定義的含義:它旨在用作共享記憶體程序間通信子系統的備份儲存。應該使用shm_open(3)創建其中的文件,並且這些文件通常應該用作通信程序之間的共享記憶體映射。這個位置被實現為記憶體支持的文件系統這一事實是一個實現細節。

如果您想在某個地方儲存臨時文件,請為此創建自己的掛載點。您應該考慮的另一個選擇是對這些會話文件使用不同的東西,例如數據庫儲存(可能是使用您自己的會話處理程序PgSQL的 MySQL MEMORY 表)。

引用自:https://serverfault.com/questions/138238