JIRA Software、Confluence 和 MySQL 的最低硬件要求?

Minimum hardware requirements for JIRA Software, Confluence and MySQL?

我的公司正在考虑在 nginx 代理后面结合使用 JIRA、Confluence 和 MySQL 运行 的自托管选项。我们是一个非常小的 5 人团队,目前预计使用情况非常温和。在这一点上,我什至不希望有任何并发​​使用。

我对Atlassian贴出的各种指南有点疑惑: https://confluence.atlassian.com/enterprise/jira-sizing-guide-461504623.html https://confluence.atlassian.com/adminjiraserver075/jira-applications-installation-requirements-935390824.html https://confluence.atlassian.com/doc/example-size-and-hardware-specifications-from-customer-survey-76840961.html https://confluence.atlassian.com/doc/server-hardware-requirements-guide-30736403.html

他们似乎不想费心提供实际的最低硬件要求。例如,在同一页面上,他们可以说 "minimum heap size to allocate to Confluence is 1 GB and 1 GB for Synchrony (which is required for collaborative editing)" 并且“最低硬件建议”是 6GB。至少可以说,从 1 个必需加 1 个可选到 6 个推荐的最小值的飞跃是奇怪的。

我想我想知道的是我是否能够将此设置安装到 2GB RAM 机器或 4GB RAM 机器(双 CPU)中。

好的,我已经使用以下配置进行了测试:

  • 具有 2 个内核的 VM,上限为 ~2.2Ghz 和 4GB RAM
  • Ubuntu 16.04 服务器
  • Docker 和 docker-撰写
  • 容器:
    • nginx
    • jwilder/docker-gen
    • jrcs/letsencrypt-nginx-proxy-companion
    • cptactionhank/atlassian-jira-software
    • cptactionhank/atlassian-confluence
    • mysql

这台 4GB RAM 的机器几乎无法运行完成此设置:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           3951        3553         107           0         291         157
Swap:           974         725         249

CPU 只有在 JIRA 和 Confluence 以空主目录启动时的初始化期间,使用率才上升到 200%。下面的顶部输出是在:

之后
  • 在 Confluence 中创建一个 space 和一个页面
  • 和一个在 JIRA 中有约 10 个问题的项目
  • 并将 JIRA 和 Confluence 链接在一起
$ top -o %MEM | head -15
top - 16:14:33 up  6:12,  2 users,  load average: 0.15, 0.04, 0.01
Tasks: 132 total,   1 running, 131 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.6 us,  0.5 sy,  0.0 ni, 95.8 id,  1.0 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem :  4046364 total,   128808 free,  3638444 used,   279112 buff/cache
KiB Swap:   998396 total,   252956 free,   745440 used.   161144 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 6328 bin       20   0 3306232 1.468g      0 S   0.0 38.1  12:03.27 java
 6418 bin       20   0 2860000 1.320g      0 S   0.0 34.2  10:56.24 java
 7205 bin       20   0 2807088 476592   1724 S   0.0 11.8   1:58.37 java
 5752 999       20   0 1815480  99804   4728 S   0.0  2.5   1:11.29 mysqld
 1070 root      20   0  621908  28672   8904 S   0.0  0.7   0:30.74 dockerd
 1179 root      20   0  623004   7536   2520 S   0.0  0.2   0:16.66 docker-containe
  968 root      20   0  291352   6536   1912 S   0.0  0.2   0:00.77 snapd
 8310 root      20   0   15388   5064   3056 S   0.0  0.1   0:21.39 docker-gen

Confluence 还为 Synchrony 分配了大约 500MB RAM:

$ ps aux --sort -rss | head -4
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
bin       6328  3.3 38.3 3306232 1551120 ?     Ssl  10:14  12:12 /usr/lib/jvm/java-1.8-openjdk/bin/java -Djava.util.logging.config.file=/opt/atlassian/confluence...
bin       6418  2.9 34.1 2860000 1382868 ?     Ssl  10:14  10:57 /usr/lib/jvm/java-1.8-openjdk/bin/java -Djava.util.logging.config.file=/opt/atlassian/jira/...
bin       7205  0.5 11.7 2807088 476588 ?      Sl   10:44   1:59 /usr/lib/jvm/java-1.8-openjdk/jre/bin/java -classpath /opt/atlassian/confluence/temp/... synchrony.core sql

在 JIRA 和 Confluence 安装阶段,MySQL RAM 使用量达到峰值,约为 500MB,而在正常操作期间,它约为 100MB。

在我的尝试中,一台 2GB 的机器只够 运行 JIRA 或 Confluence,没有 MySQL。

结论: 看起来 4GB RAM 双核机器是 JIRA+Confluence+MySQL 所需的绝对最低要求。但请记住,这样的机器对于一个几乎空无一人的项目来说是勉强够用的。

我个人并没有预料到这些应用程序会如此渴望 RAM 是空的。