Linux 弱弱的想請教一下用 Linode 的朋友們,關於配置與效能

hechian · 2011年12月22日 · 最后由 hechian 回复于 2012年02月04日 · 3282 次阅读

Hi 各位,想請教一下 我現在有一台 Linode 1024 Plan 的主機,上面跑了 Ubuntu 11 64bit 目前裝有

  • MySQL
  • Apache (2 個 workers)
  • nginx (2 個 workers)
  • unicorn (4 個 workers)

目前用 unicorn 的只有一個 web app 而已,可是每個 worker 都吃了 5.x %的內存,在另外一台跑 CentOS 的主機上面卻不會這樣,CentOS 的主機上大約 1.x %左右而已 ... 且跑了 10 個以上的 worker 在 Linode 上內存整個耗盡啦囧"

想請問下各位用 Linode 的前輩們是怎樣配置的? 尤其是 MySQL 的配置 ... 現在吃了 17% 的內存

你的 CentOS 是不是 32 位的?

ruby-china 也是 Ubuntu Server 64bit 不过是 8.04 的,每个 unicorn_rails 进程 133m

#1 楼 @night_song 是 i686

#2 楼 @huacnlee 嚇死人 ... 囧

Unicorn + Nginx 有辦法 scale 嗎? 我這樣連一個 Service 都跑得慢啊囧"

Rails 的项目,一个应用就需要最少 512M 的内存,如果系统是 64Bit 的话,那就至少要 1G,所以...

用 ree 可以降低

#4 楼 @huacnlee 這是否在暗示我應該 downgrade 成 32bit 的 ....

#5 楼 @alvin2ye 原本也有這個想法,但是項目是從 3.1 開始做的,回不去了 ... :(

#6 楼 @hechian 如果没有 1G 的内存,那就别用 64bit 的,哈哈哈

64 位 ubuntu 一个 worker 50M 内存的飘过... 你可以检查一下:

  • 是否在 production 环境
  • 是否用了某些很吃内存的库 (如纯 ruby 版 mmseg 就能吃 50M ...)

有些程序是看见有空闲内存就先占着的,不用白不用,说不定多开几个 worker 它就释放了。

64 位系统吃内存多,但是几乎消灭了 ext-lib 内存泄漏,有得有失。

另外... 加内存不贵吧?

#7 楼 @huacnlee 好笑的是,Linode 配給的內存是 1023 MB ... 這樣勉強能算 1G 吧?

#8 楼 @night_song

  • 是在 production
  • 庫倒也沒用到什麼,就 sinatra、mysql2、unicorn .. etc. 不過倒是提醒我要往庫這邊檢查一下 ... 多謝提醒 是說,這主機是公司的,加內存不貴,但是出錢的還是老闆 XDDDD 提出申請會怕怕的 ... (( 抖
需要 登录 后方可回复, 如果你还没有账号请 注册新账号