这是困扰我们一段时间的问题。
如何确定每个吊舱分配多少?
如果我不知道该程序怎么办,也许它在高峰时间需要大量内存。

找出一些分配多少的一般策略是什么? cpu /内存

#1 楼

如果您不知道要进行容器化的流程的性能特征,则需要解决一个严重的问题。尽管您需要在生产中仔细监视它并根据需要调整资源限制,但可以采用两种方法来获得答案。



方法1:受过良好教育的猜测-看看其他人在托管特定进程方面所做的事情,GitHub是查找Dockerfiles及其关联的Helm Charts的绝佳资源。同样,如果有人对虚拟机的大小进行了一些测试,您也许可以得出短期内可接受的答案。

方法2:测试-我个人的喜好是测试有问题的组件:



Apache Bench非常适合针对HTTP(S)端点进行快速性能测试
诸如MySQL Benchmark工具之类的工具可让您进行测试MySQL,许多应用程序都有专用的基准测试工具。
如果软件更复杂,则可以使用诸如Artillery或Gattling之类的工具来创建性能测试套件,然后使用该套件测试容器并了解其性能。 br />


无论采用哪种方法,都需要确保您拥有正确的监视和仪表板解决方案,以便可以实际分析容器在负载和压力下的行为。相应地进行调整。

#2 楼

要扩展Richard的出色答案,负载测试和日志记录也可以提供帮助:


日志记录可以帮助监视,仪表板和警报。但是,要进行适当的设置,您的服务将需要在资源成为问题时正确记录日志。如果您已经有了此功能,则可以对所需资源进行更明智的猜测。
负载测试可以帮助您确定限制对于您预期的负载是否合理。尽管您可能只需要少量用户运行,但是负载测试可以帮助确定增加CPU /内存的成本/收益。请注意,如果您使用的是云提供商,则通常需要在执行此类测试之前与他们联系(例如,请参阅AWS的政策)。

通过使用这两项,您可以做出更好的猜测并执行更有针对性的测试。