问题标签 [high-traffic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Nodejs - 集群微服务问题的高流量
对不起小说...
我正在开发一个 Nodejs 项目,我需要在多个文件中解密数百万个信封。我的应用程序的任何 API 都必须在 localhost 上运行。
主 API 处理客户端请求以解密一批文件。每个文件都包含数千到数百万个需要解密的信封。每个文件都被视为一个作业,这些作业由 Main API 排队,然后通过为每个作业分叉一个新进程来并发运行。(我一次只允许 5 个并发作业/分叉)在每个进程中,都会运行一个脚本来遍历并解密文件。
这运行相对较快,但不是在 Main API 派生的每个进程/脚本的代码中进行解密,我想将这个工作分发给另一个 API(称为 Decrypt API),该 API 基本上接受请求中的信封并发送在响应中返回解密的结果。
所以我创建了这个 api,然后使用'forky' 来集群它。然后从我的流程中,我没有在其中进行解密,而是向 Decrypt API 发出多个并行请求,一旦我得到响应,只需将解密的结果放在一个文件中。
起初我的问题是我在收到每个信封时就提出了请求,而没有等待请求返回,然后再发送下一个。如果您愿意,我基本上会发送“并行”请求,然后在每个请求的回调中处理投票。这导致我认为一次有太多未完成的请求,因为我收到了 ECONNRESET 错误。一些请求被丢弃。所以我的解决方案是在任何时候最多有 x 个未完成的请求(我使用了 10 个),以避免过多的并发请求。这看起来没问题,但后来我意识到,因为我从 MainAPI 分叉了 5 个进程,虽然每个进程都有这个新的“优秀请求”限制代码,但由于它们同时运行,我仍然遇到了一次请求过多的问题解密 API。还,这种使用两个不同微服务/API 的方法比只使用 MainAPI 的分叉进程进行解密要慢。在 Decrypt API 中,我还使用了节点“crypto”库,并且我使用的一些函数是同步的,所以我怀疑高流量是个问题,但我无法避免这些同步方法。
所以最后,我的问题是,我能做些什么来提高 Decrypt API 的速度,就像我描述的那样,我能做些什么来避免这些丢弃的请求?
如果我听起来像个菜鸟,请原谅我,但是由于这些 API 都在同一台机器和本地主机上运行,这可能是为什么这种方法比在每个进程中进行解密要慢的原因吗?
谢谢!
performance - Laravel 用于复杂的浏览器游戏网站
有很多关于 Laravel 性能的文章。就快速应用程序而言,它不是最好的框架,但它有很多选项以及出色的社区和文档。我想知道 Laravel 是否适合我的情况:
我目前正在开发一款浏览器游戏,希望全世界成千上万的游客都可以玩这款游戏。可能同时有超过 3000 个并发用户。该应用程序有点重,因为它需要很多不同的模块:视图、路由、会话管理、身份验证、数据库连接、cronjobs 等等。这确实是一个动态游戏,所以应用程序会被加载很多次。并且:我没有那么多钱来投资很多专用服务器(至少一开始没有)。
我也查看了其他框架。因为 Lumen、Slim 和其他一些微框架并不支持我的游戏需要的所有模块,所以我认为 Laravel 是一个不错的选择。但我真的很害怕我看到的基准。与其他框架相比,Laravel 在那里看起来并不好:它很慢,消耗大量内存并且无法处理很多请求。
所以我的问题是:Laravel 是一个有成千上万并发用户潜力的大型浏览器游戏网站的好选择吗?Caching 和 Homestead 肯定会有所帮助,但 Laravel 是一个不错的选择,还是有更好的框架?
php - php和redis之间的高流量连接
我有 php 的后端,它适用于 Redis。
但是当请求增加并且每秒超过 2000 个请求时,我收到一个错误:
TIME_WAIT 中的所有套接字。
连接示例:
我找到解决方案:http ://redis4you.com/articles.php?id=012&name=redis
但是/proc/sys/net/ipv4/tcp_tw_recycle 我不能在1中设置。不想在application和redis之间的网络上丢包。
来自 API 的新请求的 PHP 创建一个新的套接字。
有任何想法吗?
wordpress - 高流量网站的托管/服务器
对于平均每日流量约为每天 250,000 次会话(约 13 万独立用户)的 Wordpress 网站,您会推荐什么设置。在高峰时段,我们每小时可以获得约 25,000 名用户,非高峰时段每小时约 10-17,000 名用户。每月带宽约为 14TB。
我很高兴听到有关最佳设置的建议:注意:它应该是 cpanel 服务器 (apache)
- 服务器 - 云或专用(谷歌云和亚马逊除外)
- CPU/内存/等?
- 内容分发网络?
- Apache/MySQL 特定设置?
- 高可用性?
- 任何其他建议
非常感谢您的任何建议
mysql - Django 显示 Python socket.error: [Errno 104] Connection reset by peer
我在 AWS 上有一个 django+mysql 网站。
客户端向网站发送post请求,然后网站查询mysql数据库并返回一个json。
我正在对它进行压力测试。我同时向网站发送 300 个帖子请求并正确获得响应。但是,如果我将发布请求的数量增加到 400,它会失败并显示以下日志。
服务器端 :
self.flush() File "/usr/lib/python2.7/socket.py", line 307, in flush self._sock.sendall(view[write_offset:write_offset+buffer_size]) 错误:[Errno 104] Connection reset by同行
客户端:
我已经为更高的 max_connections 和 timeout 调整了 mysql 配置,但它不起作用。
谁能帮我解决这个问题?谢谢。
node.js - Low download speed
Hey guys I am having a big problem and i need some advice .
I have a Dedicated server with those informations :
- Atom C2750 8/8t 2,4 / 2,6 GHz
- 16 GB RAM DDR3 1600MHz
- 12TB
- 500Mbps Bandwidth
- List item
- 1Gbps Network Burst
I am running a website using Nodejs where users can download high volume files .
The website evolved rapidly and I am having 10K users per day and an average of 1K concurrent users (downloads).
The problem is the server is getting lower and lower download speed on client's side so I have added a throttle to the downloads to 800Kb/s , it did help a bit but the problem remains the same what should I ?
Thanks
mysql - 使用 wordpress 站点重负载时的 MySQL 连接错误
我使用过 WordPress 网站,如果我们使用 JMeter 或在搜索引擎启动时发出多个请求 MySQL 服务器出现故障
我在我的服务器上更改了以下配置
- key_buffer = 25M
- max_allowed_packet = 1M
- 线程堆栈 = 128K
- 表缓存 = 25
- innodb_buffer_pool_size=“64M”到“512M”
- 最大连接数 = 200;
如何解决问题?
此问题仅发生在一次请求 200 到 500 个请求的高流量上
php - 为什么总是“为 foreach 提供的参数无效”
我想在codeigniter上做一个图表,但我总是失败。请帮助我错误的文本:遇到 PHP 错误
严重性:警告消息:为 foreach() 提供的参数无效 文件名:chart/index.php 块引用行号:16
我的观点 :
我的模型:
我的控制器:
请给我解决方案...
php - Apache 2.4 php 7.2 Apache(php 模块)增加最大连接数以处理 10000
我有 apache(2.4) 和 php(7.2) 的项目,其中 apache 使用 mpm_fork 如何增加 apache 中的最大连接数以处理 10,000 个并发连接?我正在使用https://loader.io进行测试,它最多只能处理 5000 个并发连接(在 15 秒内)。
这是我当前的 apache 配置:
考虑一下,我的硬件没有问题,我检查了我的资源使用情况,我在测试期间从未超过 20% 的 cpu 和内存使用率。
java - 有没有办法配置 Spring Boot API 来设置传入请求的连接超时?
我已经在 Wildfly 10 上部署了我的高流量 SpringBoot 应用程序。这个应用程序的服务器架构是 nginx(Angular 应用程序)->(反向代理)->wildfly 服务器。由于我们在几个小时内获得高流量,8080 端口(wildfly 应用程序端口)停留在 CLOSE_WAIT,因为 nginx 在一段时间后关闭了连接。
如果请求时间大于 5 秒,我正在寻找配置 Spring Boot 应用程序以关闭连接。
例子:
对于test2获取HTTP方法有没有办法配置spring boot application/Wildfly/centos来设置传入请求的连接超时?