当前位置: 首页 > 知识库问答 >
问题:

OpenShift HAProxy伸缩不起作用

晋坚
2023-03-14

我一直试图用ny NodeJS Express4应用程序(它本质上是一个REST API),来实现OpenShift的HAProxy扩展,但运气不佳。

我正在使用Loader.io的压力测试工具,只有100个用户/分钟(从0开始上升),因为我相信至少NodeJS/Express应该能够处理这个问题。当然,这确实会在60秒内生成大约10-20K请求,但仍然如此。

起初我以为这是由于使用了一个小齿轮,因为我运行“顶部”,看到CPU负载尖峰通过屋顶,我最终断开了连接。

我删除了该应用程序,并切换到Small.Highcpu齿轮(每小时收费)。

当它应该扩展时(并发用户少于100个)仍然会崩溃。

{ [Error: socket hang up] code: 'ECONNRESET' }
{ [Error: socket hang up] code: 'ECONNRESET', sslError: undefined }

如果我甚至不能处理100个用户/分钟,我真的不能证明为这样的服务付费是合理的,因为我确信我最终会远远超过100个用户/分钟。

更新:这里有一个loader.io图/报告,它显示了HAProxy放弃的时间:http://ldr.io/1tv2iwj

更新2:我尝试使用Blitz而不是Loader.io,只是为了确定HAProxy何时疯狂。闪电战以12K次命中、26K次失误和4K次超时结束。

==> app-root/logs/haproxy_ctld.log <==
I, [2014-10-13T07:14:48.857616 #74934]  INFO -- : add-gear - capacity: 143.75% gear_count: 1 sessions: 23 up_thresh: 90.0%

==> app-root/logs/haproxy.log <==
[WARNING] 285/071506 (74918) : Server express/local-gear is DOWN, reason: Layer7 timeout, check duration: 10002ms. 0 active and 0 backup servers left. 128 sessions active, 0 requeued, 0 remaining in queue.
[ALERT] 285/071506 (74918) : proxy 'express' has no server available!
[WARNING] 285/071511 (74918) : Server express/local-gear is DOWN for maintenance.
DEBUG: Sending SIGTERM to child...

共有1个答案

汪阿苏
2023-03-14

您的gear正在耗尽内存,因此您的所有进程都将被扼杀。(这就是为什么您也会被踢出ssh会话。)当这种情况发生时,它可能会使haproxy配置处于糟糕的状态,如果它在重新启动时没有自动修复自己,我会认为这是一个bug。

 类似资料:
  • 伸缩是对该应用所启动的pods数量进行一个控制。 同样进入应用的详情页页,在右上角找到“伸缩”按钮并点开。 在弹出来的对话框中选择启动的POD数量,如下图: 提交之后若数量大于之前的数量,则会启动缺少的POD数量,若小于之前的值,将会逐步减少应用的POD。 目前给的最大值是8个pod,资源可使用的内存是16G,若您的应用超过我们所设定的最大值。想办法优化吧,64核128G内存都不够用,这种级别的应

  • 我尝试使用FFMPEG和这个库压缩视频:https://github.com/guardianproject/android-ffmpeg-java

  • 我想用Gzip压缩我的web应用程序,我使用下面的类 压缩滤波器 更新缓存过滤器工作正常,但仍然没有gzip压缩,下面是Chrome中的响应头。 我有什么办法能让这一切成功吗?我真的需要帮助,谢谢

  • ScalingEntry SPI 名称 详细说明 ScalingEntry 弹性伸缩入口 已知实现类 详细说明 MySQLScalingEntry 基于 MySQL 的弹性伸缩入口 PostgreSQLScalingEntry 基于 PostgreSQL 的弹性伸缩入口

  • 背景 Apache ShardingSphere 提供了数据分片的能力,可以将数据分散到不同的数据库节点上,提升整体处理能力。 但对于使用单数据库运行的系统来说,如何安全简单地将数据迁移至水平分片的数据库上,一直以来都是一个迫切的需求; 同时,对于已经使用了 Apache ShardingSphere 的用户来说,随着业务规模的快速变化,也可能需要对现有的分片集群进行弹性扩容或缩容。 简介 Sha

  • 我正在尝试设置2个支持HA和故障转移的ActiveMQ Artemis服务器。但是在文档和本例中,我可以看到Artemis是不可伸缩的,因为我必须在代码中设置到每个Artemis节点的连接和会话。这意味着,如果我想通过添加第三个服务器来扩展Artemis,那么我必须发布一个新的代码,其中存在与该服务器的连接和会话,对吗?