我在Docker容器中遇到了问题。Rails应用程序运行非常缓慢(即页面在浏览器上加载时间太长)。
应用程序细节:
Rails版本:4.2.0
Ruby版本:2.2.0
当我通过docker stats
命令检查内存状态时,它显示主容器(1
)的CPU利用率非常高。有时它会达到50%
的利用率。
我尝试了一些配置,即增加了Docker的CPU
分配,性能稍微提高了一点。
version: '3.7'
services:
selenium:
image: selenium/standalone-chrome-debug:3.141.59-krypton
ports: ['4444:4444', '5900:5900']
logging:
driver: none
redis:
image: redis:3.0.0
elastic:
image: elasticsearch:1.5.2
db:
image: postgres:9.3.10
volumes:
- ./tmp/db:/var/lib/postgresql/data
- .:/home
XYZ:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
stdin_open: true
tty: true
volumes:
- .:/home
ports:
- "3000:3000"
depends_on:
- db
- redis
- elastic
- selenium
environment:
- REDIS_URL=redis://redis:6379/0
- ELASTICSEARCH_URL=elastic://elastic:9200/0
- SELENIUM_HOST=selenium
- SELENIUM_PORT=4444
- TEST_APP_HOST=XYZ
- TEST_PORT=3000
我发现在浏览器上加载的JS文件需要太长时间,大约 1.3分钟
,比如如果有4个JS文件,则每个文件需要超过1分钟
的时间来加载。
我的感觉是Docker在Mac机器上运行得很慢,因为相同的应用在Linux机器上运行得非常好,也许我错了,但这是我看到的观察结果。
任何帮助将不胜感激。
top
命令的结果? - LinPy