Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript AJAX脚本可以完成多少网络故障排除?_Javascript_Performance - Fatal编程技术网

使用JavaScript AJAX脚本可以完成多少网络故障排除?

使用JavaScript AJAX脚本可以完成多少网络故障排除?,javascript,performance,Javascript,Performance,有时,web应用程序能够确定应用程序中看似缓慢的是否是由于网络条件或其他原因造成的可能很有用 为了在这种情况下更容易确定原因,我考虑创建一个类似“检查连通性”的客户端脚本,例如,对服务器进行AJAX调用,并返回一些有用的指标,以便更容易确定原因是否在于网络 但是,使用调用服务器的JavaScript可以完成多少有用的网络故障排除呢?听起来您需要一种从最终用户的角度关注站点性能的方法 一种方法是让客户端脚本包含一种登录到日志聚合站点的方法,如 在服务器端,您可以实现一个/pingAPI端点,该端点

有时,web应用程序能够确定应用程序中看似缓慢的是否是由于网络条件或其他原因造成的可能很有用

为了在这种情况下更容易确定原因,我考虑创建一个类似“检查连通性”的客户端脚本,例如,对服务器进行AJAX调用,并返回一些有用的指标,以便更容易确定原因是否在于网络


但是,使用调用服务器的JavaScript可以完成多少有用的网络故障排除呢?

听起来您需要一种从最终用户的角度关注站点性能的方法

一种方法是让客户端脚本包含一种登录到日志聚合站点的方法,如

在服务器端,您可以实现一个
/ping
API端点,该端点将立即返回
true
,以便您知道用户至少需要多长时间才能到达您的站点。然后,您可以将该请求花费的时间登录到SumoLogic。您还可以对其他请求执行此操作,以查看哪些API比其他API慢

如果您在登录SumoLogic时包含地理位置,您可以看到您的站点在世界各地的表现

如果您真的想做的更好,那么您应该实现一个定制的头,您的API能够理解它,它是所有请求的某种事务令牌。当您的服务器接收到该报头时,它应该在整个请求日志中使用该令牌,以便您可以看到哪里出了问题以及如何处理这些问题

另一个很好的网站是。这是一款更加以性能为中心的应用程序,您无法从自己的日志中获得见解,但它本身就是一款很棒的应用程序

编辑


正如@Bergi在评论中所提到的,您还可以让服务器立即用头响应,并以此来衡量性能。

如果不是“网络状况”,什么会使网络变慢?您可以在API/站点上实现一个
/ping
端点,该端点只返回
true
,并将该度量记录到一些日志聚合工具(如Sumo或Splunk)中。如果你想知道最终用户的地理位置,你就会知道你的网站在世界各地的表现有多好。@Bergi,你可以再读一遍这个问题。我强调了我在问题中提到的文本:应用程序的缓慢。导致web应用程序运行缓慢的原因不仅仅是网络。感谢@JosephSerido,也许每天跟踪“标准返回时间”(在某些服务器端表格中)可以作为您所说内容的参考。您介意添加这一点作为答案吗?尝试使用ajax解决网络故障就像试图通过制作沙拉来判断莴苣是否变质。如果沙拉坏了,你尝一尝就知道了。吃腐烂的莴苣是一个错误,不是一个诊断程序。我不明白发出PING请求的意义。仅仅对有实际目的的普通请求进行计时就足够了。@Bergi这是一个公平的观点。我之所以建议使用
/ping
,是因为该端点应该像一个合同,上面写着
如果我“启动”,我将立即响应
。这与其他请求不同,这些请求可能具有较大的有效负载响应,或者请求必须处理可能需要较长时间才能响应的数据(如
/getalldata
端点必须查询数据库,然后在完成后返回)。如果OP想知道最终用户是否有良好的internet连接,那么服务器的响应应该是立即的,并且一个简单的
/ping
端点可以为您提供IMO。啊,好的,但是您仍然可以让服务器立即响应标题,以便您可以计时,甚至测量它自己的处理时间,并将其包含在响应的末尾。还可以显示许多网络请求的详细信息。@Bergi哦,很好,我不知道你可以这么做。是的,这肯定也行:)谢谢你的资源