问题标签 [server]
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.
server - 大数据操作的数据损坏
我最近遇到了一些非常奇怪的数据损坏问题。基本上我所做的是:
- 使用“scp”将一些大数据(50个文件,每个大约8GB)从一台服务器传输到hpcc(高性能计算)
- 处理输入文件的每一行,然后将这些修改的行追加/写入输出文件。我通过“qsub -t 1-1000 xxx.sh”在 hpcc 上执行此操作,即同时抛出所有 1000 个工作。此外,这 1000 个作业平均每个作业使用 4GB 内存。
我的脚本的基本格式是:
或者
然而,奇怪的是:有时,我可以在我的数据的某些部分看到数据损坏。
首先,我只是发现我的一些“输入”数据已损坏(不是全部);那么我只是怀疑这是否是“scp”的问题。我问了一些电脑专家,也在这里发帖,但似乎“scp”扭曲数据的可能性很小。而我只是执行“scp”将我的数据再次传输到 hpcc;并且这次的输入数据就ok了。很奇怪,对吧?所以这促使我思考:输入数据是否有可能被用于运行内存/CPU 使用密集型程序而中断?
如果输入数据被破坏,输出也被破坏是很自然的。好的,然后我再次将输入数据传输到 hpcc,并检查它们是否都处于良好状态,然后运行程序(应该指出:一起运行 1000 个作业),输出文件......其中大部分是好的; 但是非常令人惊讶的是,只有一个文件的某些部分已损坏!所以我只是再次为这个特定文件单独运行程序,然后获得良好的输出而没有任何损坏!好迷茫……看了这么多怪事,我唯一的结论是:可能同时运行多个内存密集型作业会损坏数据?(但我以前也做过很多这样的工作,而且看起来还可以)
通过数据损坏,我的意思是:
像这样的东西:
然而它应该是这样的:
http - 有人可以解释这些 apache bench 结果吗,有什么突出的吗?
下面是一个运行 10K 请求和 50 个并发线程的 apache bench。
我需要帮助来理解结果,结果中是否有任何突出的东西可能指向阻塞和限制每秒更多请求的东西?
我正在查看连接时间部分,并查看“等待”和“处理”。它显示平均等待时间为 208,平均连接时间为 0,处理时间为 208..但总数为 208。有人可以向我解释一下,因为这对我来说没有多大意义。
database-design - 如何存储历史服务器数据?
我正在寻找有关如何将数据存储在数据库中以进行历史数据挖掘的建议。如果我可以在给定时间获取实体的状态,那么存储它的最佳方式是什么,以便我可以历史地挖掘该数据,根据过去的状态预测状态可能是什么?
对于更具体的示例,我可以获得服务器的启动/关闭状态,以及该服务器的当前负载。我可以定期得到这个。我想存储这些数据,以便我可以轻松查询特定时间范围内的上/下状态或负载,或获取该服务器的整个历史记录。我在数据库设计方面没有太多经验(如果有的话)。
scripting - 是否有内置冗余的反向增量备份解决方案(例如 par2)?
我正在设置一个家庭服务器,主要用于备份。我有大约 90GB 的个人数据必须以最可靠的方式备份,同时仍保留磁盘空间。我想拥有完整的文件历史记录,这样我就可以在任何特定日期返回任何文件。
由于数据的大小,不能选择完整的每周备份。相反,我正在寻找增量备份解决方案。但是,我知道一组增量备份中的单个损坏会使整个系列(超出某个点)无法恢复。因此,简单的增量备份不是一种选择。
我研究了许多解决这个问题的方法。首先,我将使用反向增量备份,以便最新版本的文件丢失的可能性最小(旧文件不那么重要)。其次,我想用某种冗余来保护增量和备份。Par2 奇偶校验数据似乎非常适合这项工作。简而言之,我正在寻找具有以下要求的备份解决方案:
- 反向增量(以节省磁盘空间并优先考虑最近的备份)
- 文件历史记录(一种更广泛的类别,包括反向增量)
- Par2 奇偶校验数据增量和备份数据
- 保留元数据
- 高效的带宽(节省带宽;无需为每个增量复制整个目录)。大多数增量备份解决方案都应该以这种方式工作。
这将(我相信)确保文件完整性和相对较小的备份大小。我已经查看了许多备份解决方案,但它们存在许多问题:
- Bacula - 简单的普通增量备份
- bup - 增量并实现 par2 但不是反向增量且不保留元数据
- 重复性 - 增量、压缩和加密,但不是反向增量
- dar - 增量和 par2 很容易添加,但不是反向增量和没有文件历史记录吗?
- rdiff-backup - 几乎可以满足我的需要,但它不支持 par2
到目前为止,我认为 rdiff-backup 似乎是最好的折衷方案,但它不支持 par2。我想我可以很容易地将 par2 支持添加到备份增量中,因为它们不会在每个备份中都被修改,但是其余的文件呢?我可以为备份中的所有文件递归地生成 par2 文件,但这会很慢且效率低下,而且我不得不担心备份和旧 par2 文件期间的损坏。特别是,我无法区分更改的文件和损坏的文件,我不知道如何检查此类错误或它们将如何影响备份历史记录。有谁知道更好的解决方案?有没有更好的方法来解决这个问题?
感谢您阅读我的困难以及您可以给我的任何意见。任何帮助将不胜感激。
android - 将名称值对发送到服务器的最佳方式是什么?
我已经尝试了两周的大部分时间,我真的被困住了。最初,我创建了一个简单的 ObjectOutputStream 客户端 - 服务器程序 - 客户端是 Android 应用程序,但它不起作用(它读取连接但不读取对象)。
所以现在我很困惑我可以采取哪些其他方法来执行这个简单的任务?任何人都可以帮忙吗?
tomcat - GWT 编译后不反映更改
我在 tomcat 服务器上运行 GWT 应用程序。即使在 GWT 编译之后,客户端代码中的更改也不会反映出来。我必须重新启动 Eclipse 才能看到更改。可能是什么原因?
java - 套接字只接受一个客户端
我在java中创建了一个接受客户端连接的服务器。但我只能连接一个客户端
networking - 从远程访问本地主机上的站点
我用来在我的本地主机上开发我的项目,在 ubuntu 机器上的 apache 上。有时我需要向我的客户展示进度。是否可以从远程机器访问本地主机?
java - 为什么 SMTP 服务器收不到 DATA 命令?
我正在为一个大学项目使用 Java 编写 POP3 和 SMTP 服务器。我可以通过客户端(即:Thunderbird)使用我的 SMTP 服务器发送电子邮件,我的服务器可以毫无问题地发送它们。
当外部发件人代理(如 gmail 或 hotmail)尝试使用我的 SMTP 服务器发送电子邮件时,它不会完成通信,因为它会在 MAIL 命令之后发送 QUIT 命令。为什么外部代理会这样做?我没有遵守 SMTP 协议吗?
问题是,当我从想要向我发送邮件的外部服务器接收到连接时,会发生以下情况(我:我的 SMTP 服务器,发件人:发件人代理)。这是一个 gmail 代理的示例。
相关代码片段(完整类代码位于http://code.google.com/p/sd-mail-server-claudiani-ferrari/source/browse/src/controller/smtp/SMTPCommandHandler.java?repo=mailserver)
http - 需要从日志文件中提取数据并打印到另一个文件,然后寻找唯一性
我有来自 http 访问日志的数据,我需要执行以下操作:
- 在特定目录中的所有文件中搜索模式
- 将该数据写入另一个文件
- 检查新文件的唯一性并删除重复条目
数据如下所示:
<IP address> - - [09/Sep/2012:17:35:39 +0000] "GET /api/v1/user/followers?user_id=577670686&access_token=666507ba-8e88-423b-83c6-9df44bee2c8b& HTTP/1.1" 200 172209 <snip>
我对以下的数字部分特别感兴趣:user_id=577670686,我想将其打印到一个新文件中(我还没有尝试过那个部分)......
我尝试使用 sed,但我并没有真正尝试操作数据,所以它看起来非常笨拙......查看 awk,但数据并不是真正基于列的,并且 $# 指定没有无法处理这些数据(它应该是 10 美元,对吗?)而且,我看不出有一种方法可以摆脱使用 $# 产生的部分数据。有人建议我使用 perl,所以我查看了 google 中的示例,但这对我来说太陌生了。有什么建议么?