我一直在阅读以下文章: http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1 Linux上超过65536个TCP连接 并想知道是否还有什么我需要知道调整Linux处理100万tcp连接? 到目前为止,我已经缩小到以下内容: configuration内核以支持系统范围内的1mil连接(sysctl.conf) 为特定用户configuration1mil连接(/etc/security/limits.conf) configurationtcp堆栈内存设置(sysctl.conf?) 还有什么我需要configuration? (这是一个EC2大型64位服务器) -编辑- 它不是apache,它是一个基于libev的自定义编码的C服务器FYI。 它会扩展到1mil就好了,它的内核是我的担心:)
这似乎是一个非常简单的问题,但我找不到答案。 当我在Amazon AWS上创build实例,然后进行一些更改并创buildAMI存储的AMI时, S3? 将额外的AMI添加到每月支付的金额?
我正在设置ELB,我很难find一个合适的度量来调整池的大小。 RequestCount不起作用,因为一些请求比其他请求便宜得多。 延迟不起作用,因为有些请求是长时间轮询的,所以最大延迟时间几乎总是60秒。 我真正喜欢的是一个衡量开放连接数的统计量。 我相信这就是LoadBalancer本身在路由请求时所使用的,所以我们真的很惊讶,它似乎没有在CloudWatch中公开给我们使用。 我只是想念一些东西? 其他build议? 我将不得不创build我自己的指标?
我的应用程序正在爬取一个网站。 我使用这个爬虫: https://github.com/rfussien/leboncoin-crawler 在我的开发环境中,延迟是可以接受的(3-4秒),但是在我的prod服务器(ec2 T2.micro Linux / Amazon)上有30个seconde延迟(wait ttfb)。 我在另一个服务器(1&1)testing了相同的代码,并且有一个可接受的延迟(3-4秒)。 所以问题不在代码内部 ,而是关于服务器configuration。 我努力了 : 检查php conf(php.ini) 添加caching到PHP(Zend OPCache) 添加Apache 2不同:接受编docker testing一个t2.medium实例 改变我的实例的区域 我发现这个类似的问题: PHP + Apache很长的等待时间,但我认为我的ec2卷是一个EBS SSD,所以没有访问时间问题。 这个未解决的问题也链接到我的: https : //stackoverflow.com/questions/34299038/deployed-web-application-long-ajax-wait-ttfb-time 在请求期间提取vmstat: [ec2-user@ip-xxx-xx-xx-xx ~]$ vmstat 1 procs ———–memory———- —swap– —–io—- –system– —–cpu—– rb swpd free buff cache si so bi bo in cs us sy […]
所以我很难让HTTP / 2与更新版本的AWS Application Load Balancer和Tomcat 9一起工作。我将<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />到我的连接器上tomcat(标准未encryption的8080连接器)。 当我通过LB打我的网站,我看到根据Chrome使用h2协议,但是当我看我的访问日志,似乎一切都最终使用HTTP1.1 10.0.3.103 – – [04/Nov/2016:01:23:47 +0000] "GET /login.html HTTP/1.1" 200 4916 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" > <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> </Connector> 我试图确保一切正常运行,从我所看到的我猜测LB只是处理一切为H2,然后将其转换回http 1.1在后端明显不是什么我在找。 只是为了澄清,LB是我的TLS集中器,连接到我的后端服务器是不安全的。
我很好奇你们有没有使用任何非亚马逊提供的EC2内核成功? Canonical似乎提供了更新的内核(例如2.6.28),但是在EC2硬件上有一些关于它们成功使用的评论。 我主要感兴趣的是更新的版本,不一定是来自其他厂商的2.6.18的东西(除非有明智的理由使用它)。
问候所有在这里的聪明人! 我想问一下,如果将Java企业Web应用程序部署到Amazon EC2这样的云,是否可行或是一个好主意。 更确切地说,我正在寻找一个应用程序的基础设施选项,这个应用程序可以处理几百个用户,但是CPU和内存密集型会话都不是。 我正在考虑专用服务器,虚拟专用服务器(VPS)和EC2。 我注意到有一个名为JBoss Cloud的项目,所以人们正在致力于实现这样的部署,但另一方面,它似乎还不成熟,我不确定云已经准备好了这种应用程序,它不同于典型的基于云的应用程序,如Twitter。 你会推荐将其部署到云吗? 优缺点都有什么? 该应用程序是一个Java EE 5 Web应用程序,其主要function是使用户能够通过组合可用部件来组合自己的定制产品。 它使用无状态和有状态的会话bean和JPA将实体持久化到RDBMS,并通过Web服务从公司库存系统中提取关于部件的信息。 除了外部用户外,还有less数内部用户使用这些内部用户,这些用户使用公司的LDAP进行身份validation。 应用程序应该处理大约300-400个并发用户构build他们的产品,并且应该具有合理的可扩展性和可用性,尽pipe在这个阶段这些素质只是中等重要的。 我提出了一个由防火墙(FW)和支持粘性会话和https的负载平衡器组成的体系结构(在云中,这将replace为EC2的Elastic Load Balancing服务和应用服务器上的FW,平衡器将是硬件),然后是两个物理集群应用程序服务器与Web服务器相结合(这样,如果一个失败,用户不会松散他/她的长期构build的产品),最后是数据库服务器。 数据库服务器将需要一个从属备份实例,如果失败,可以replace主实例。 这应该提供合理的可用性和容错性,并且只要单个RDBMS能够保持负载,就可以提供良好的可伸缩性,这应该是相当长的一段时间,因为大多数操作是在内存中使用有状态bean完成的,并且只是偶尔存储或从数据库中检索,数据量也很低。 一个有问题的部分可能是对远程库存系统web服务的依赖,但在应用程序中对其输出进行很好的caching时,应该也可以。 不幸的是,我对系统资源(内存大小,CPU /内核的数量和速度)只有几百个用户需要这样的“平均Java EE应用程序”的模糊想法。 根据亚马逊的实际情况,我粗略的估计是没有根据的是1.7GB和一个2.5GHz主频(高CPU中等实例)的单核2核“现代CPU”应该足够用于任何两个应用服务器因为我们可以通过提供更多的资源来处理更高的负载)。 或者我会考虑使用大型实例(64b,7.5GB内存,1GHz的2个核心) 所以我的问题是,这样一个部署到云是否在技术上和财务上可行,或者专用/ VPS服务器是否是一个更好的select,是否有一些类似的现实世界的经验。 非常感谢你! / Jakub圣 PS:我在一个云案例研究中发现了JBoss EAP,这个案例研究表明可以将一个真实世界的Java EE应用程序部署到EC2云中,但不幸的是,没有关于拓扑,实例types或者其他任何细节。 (
我有一个运行Windows Server 2008的EBS AMI。是否可以将其转换为S3支持的ami? 在ElasticFox中,“捆绑到S3 ami”选项是灰显的。 如果这是可能的,怎么样? 如果这是不可能的,为什么不呢?
Web服务器:us-east-1a数据库服务器us-east-1b 他们之间的ping是在2ms以下,所以我猜没有问题,但我想检查。
我正在使用厨师刀启动新的ec2实例。 这工作通常很好,但每2-3次尝试失败,我得到以下堆栈: [Sun, 10 Apr 2011 08:11:23 +0000] INFO: Client key /etc/chef/client.pem is not present – registering [Sun, 10 Apr 2011 08:11:29 +0000] WARN: HTTP Request Returned 401 Unauthorized: Failed to authenticate as i-XXXXXXX. Ensure that your node_name and client key are correct. /usr/lib/ruby/1.8/net/http.rb:2101:in `error!': 401 "Unauthorized" (Net::HTTPServerException) from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/rest.rb:234:in `api_request' from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/rest.rb:285:in `retriable_rest_request' from […]