我们在 Odroid C1+ 上运行 Sonatype Nexus 3,大约相当于 RPi 2。是的,不推荐,但对于我们 2 的开发团队来说,性能是可以接受的。
启动时除外。 Nexus 3 OSS 服务器需要一个小时或更长时间才能可用。
这正常吗? 知道为什么这么慢吗?
以下是一家初创公司的一些日志条目。
2017-05-16 05:36:29,185+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.server.OServer - $ANSI{green:italic OrientDB Server is active} v2.2.13.
2017-05-16 05:36:29,189+0000 INFO [FelixStartLevel] *SYSTEM org.sonatype.nexus.internal.orient.DatabaseServerImpl - Activated
2017-05-16 05:36:29,242+0000 INFO [FelixStartLevel] *SYSTEM org.sonatype.nexus.extender.NexusLifecycleManager - Start UPGRADE
2017-05-16 05:36:35,919+0000 WARN [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=config}} Storage 'config' was not closed properly. Will try to recover from write ahead log
2017-05-16 05:36:35,931+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=config}} Looking for last checkpoint...
2017-05-16 05:36:36,515+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=config}} Found FUZZY checkpoint.
2017-05-16 05:36:36,530+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=config}} Data restore procedure from FUZZY checkpoint is started.
2017-05-16 05:36:36,562+0000 WARN [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=config}} Record com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=0, position=6856901}} will be skipped during data restore
2017-05-16 05:36:36,570+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=config}} 1 operations were processed, current LSN is OLogSequenceNumber{segment=0, position=6856901} last LSN is OLogSequenceNumber{segment=0, position=6856954}
2017-05-16 05:36:36,579+0000 WARN [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=config}} Record OFuzzyCheckpointStartRecord{lsn=OLogSequenceNumber{segment=0, position=6856908}} com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointStartRecord{lsn=null, previousCheckpoint=OLogSequenceNumber{segment=0, position=6856861}} will be skipped during data restore
2017-05-16 05:36:36,822+0000 WARN [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=config}} Record com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=0, position=6856948}} will be skipped during data restore
2017-05-16 05:36:36,829+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=config}} Storage data recover was completed
2017-05-16 05:42:54,800+0000 INFO [FelixStartLevel] *SYSTEM org.sonatype.nexus.extender.NexusLifecycleManager - Start SCHEMAS
2017-05-16 05:42:55,883+0000 WARN [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=analytics}} Storage 'analytics' was not closed properly. Will try to recover from write ahead log
2017-05-16 05:42:55,894+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=analytics}} Looking for last checkpoint...
2017-05-16 05:42:55,904+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=analytics}} Found FUZZY checkpoint.
2017-05-16 05:42:55,913+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=analytics}} Data restore procedure from FUZZY checkpoint is started.
2017-05-16 05:42:55,921+0000 WARN [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=analytics}} Record com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=0, position=2246069}} will be skipped during data restore
2017-05-16 05:42:55,929+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=analytics}} 1 operations were processed, current LSN is OLogSequenceNumber{segment=0, position=2246069} last LSN is OLogSequenceNumber{segment=0, position=2246122}
2017-05-16 05:42:55,938+0000 WARN [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=analytics}} Record OFuzzyCheckpointStartRecord{lsn=OLogSequenceNumber{segment=0, position=2246076}} com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointStartRecord{lsn=null, previousCheckpoint=OLogSequenceNumber{segment=0, position=2246029}} will be skipped during data restore
2017-05-16 05:42:55,946+0000 WARN [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=analytics}} Record com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=0, position=2246116}} will be skipped during data restore
2017-05-16 05:42:55,952+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=analytics}} Storage data recover was completed
2017-05-16 05:49:05,078+0000 WARN [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=audit}} Storage 'audit' was not closed properly. Will try to recover from write ahead log
2017-05-16 05:49:05,089+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=audit}} Looking for last checkpoint...
2017-05-16 05:49:05,097+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=audit}} Found FUZZY checkpoint.
2017-05-16 05:49:05,105+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=audit}} Data restore procedure from FUZZY checkpoint is started.
2017-05-16 05:49:05,113+0000 WARN [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=audit}} Record com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=0, position=2268394}} will be skipped during data restore
2017-05-16 05:49:05,121+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=audit}} 1 operations were processed, current LSN is OLogSequenceNumber{segment=0, position=2268394} last LSN is OLogSequenceNumber{segment=0, position=2268447}
2017-05-16 05:49:05,129+0000 WARN [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=audit}} Record OFuzzyCheckpointStartRecord{lsn=OLogSequenceNumber{segment=0, position=2268401}} com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointStartRecord{lsn=null, previousCheckpoint=OLogSequenceNumber{segment=0, position=2268354}} will be skipped during data restore
2017-05-16 05:49:05,138+0000 WARN [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=audit}} Record com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OFuzzyCheckpointEndRecord{lsn=OLogSequenceNumber{segment=0, position=2268441}} will be skipped during data restore
2017-05-16 05:49:05,144+0000 INFO [FelixStartLevel] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - $ANSI{green {db=audit}} Storage data recover was completed
一些注意事项:
我们的内部人员表示,他注意到 NXRM 3 在 Raspberry Pi 3 上启动期间更新模式时内存不足,并且他尚未找到解决方法。
他找到了一个解决方法。他还留着大胡子。他编辑了 nexus.vmoptions 以具有以下内容:
-Xms256M
-Xmx256M
-XX:MaxDirectMemorySize=512M
Orient 使用系统内存,这与使用 Java 堆的 Nexus Repo 不同(如果这对您有帮助的话)。上面关于定向和关闭的注释可能也非常相关。
以下是我们整理的一些有关 Orient 和内存以及调优的信息:
这里还有一篇关于 Nexus Repository Manager 3 系统要求的更通用的文章:
Nexus Repository Manager 3 系统要求
我对你的团队的建议截然不同,可以使用我们的 Docker 镜像,并在你必须使用的任何硬件上运行 Nexus Repo。
祝你好运!