インタフェースの概要(レビューと)実際の性能試験

背景

持っている、GetPaymentURLは、パラメータを渡すと、それは(注文番号と同様)セッションID、自身が何もないインターフェースで、非常にシンプルなインターフェイスのHTTPインターフェースですが、彼は最終的にpaymenturlに戻りますなど、他のモジュールインタフェース財布、財布を呼び出しますこのインタフェースGetPaymentに与えられた情報。

財布がインターフェイスにパラメータを渡すための責任があるときWordは、GetPyamentURLは、主要なビジネス・ロジックは、財布、財布の内側に、そして最終的な結果は、単純な処理を行う前に結果を得るために、GetPaymentURLに戻ったことである結果を返します。

Xiaoqiangはコメント:インタフェースのロジックを理解し、実際に、非常に重要であり、私は多くの人が技術にのみ焦点を当てることがわかったが、行われますが、なぜNのステップを取る、良いああよりも害することができ、多くのステップで、その結果、ビジネスロジックに集中しないでください!

問題 

状況に遭遇したその時、非常に遅い(一つだけのユーザー・コール時々getpaymenturlインターフェースを呼び出し、100倍27倍が20秒以上ありますが、最長は30秒以上に達している。それはちょうど私がどのように、ああ、単一のユーザー要求していますそれは)とても遅くなることができますが、直接呼び出し財布インターフェイスは非常に高速です。そして、それぞれのユーザーテストと同じネットワーク内に100回実施している私達の会社のイントラネット内の要求を要求しています。

Xiaoqiangは、コメント:私はダバンバンを言いたい、ハハ

分析 

まず、インターフェイスダイレクトコールの財布ので、通常の状態に対応しています。だから私は、質問がここgetpaymenturlにすべきだと思います。

私は、ネットの時間が正常である、非常に遅い、さらにサーバーの時間を与えるために分解、ビットをgetpaymenturlと非常に長いバッファ時間を見つけLR、結果の分析を使用しています。だから私はこの問題は、遅くにつながる、GetPaymentURLサーバ側インタフェースそのものではないと思われます。しかし、私は可能性が低い、どのようにゆっくりと、単純な転送を行うには、ああ、このインターフェース正当化さを感じますか?だから私は、それがネットワークの理由についての予約だと思います。

インタフェースの概要(レビューと)実際の性能試験

然后我又想,不对啊,为什么直接调用钱包接口,都正常,说明网络是正常的。后来与同事确认后,后来发现直接调用钱包接口走的是公网(开发给我的测试地址是公网的),而getpaymenturl应该走的是专线。虽然最终都是到达同一台服务器进行处理,但是他们走的网络节点是不一样的。所以现在我更加肯定,网络+VPOS都有可能有问题。

小强点评:分析逻辑严谨,能放能收。抓住网络路径的不同找突破口

这里还有一个小故事。VPOS一开始其实用的是公网地址,然后我们这边的一个同事,配置了一个什么代理,就是无论VPOS用什么公网地址,都会被这个代理,转一下,最终跳到一个固定的地址,然后再从这个地址转出去,再到钱包。

这样搞,显然不行,一是对于这种涉及到钱的交易,肯定是走专线地址的。 而是即使走公网,为什么还绕了这么大一圈子,通过配的什么代理,兜一圈再出去。。。

于是立马,让同事修改成为指向钱包的专线地址,重新测试了一下,结果一切正常。

虽然结果有点大跌眼镜,既不是网络原因,也不是VPOS服务端的原因,而是莫名其妙的被兜了个大圈子,导致响应时间较慢。

这是最终用单个用户请求了200次的结果:

インタフェースの概要(レビューと)実際の性能試験

小强点评:为什么性能测试好玩?就是你会发现有时候你玩他,有时候他玩你啊,就和大家为啥都爱看悬疑推理破案片一个道理,所以耐心、坚持、逻辑思维真心很重要。不过这里我建议用的工具要保证一致性,毕竟每个工具的统计原理不一样,如果换着用会对数据的比较造成一定的干扰。这里学员用了jmeter,而上面用的是loadrunner。

总结

1. 遇到这种接口很慢的情况,无非就是网络+Server端的原因。

2. 对于这种接口调接口的情况(某个接口本身封装了另外一个接口),可以进一步拆分。比如直接调用钱包的接口,看看他是否正常,如果他本身就有问题,那肯定是要首先分析钱包的接口。 如果钱包接口本身没有问题,那就要分析是不是getpaymenturl本身接口的问题

3. 遇到问题,要与相关人员进行确认。

Xiaoqiangのコメント:ここではいくつかの単語の要約ですが、私は伝えてきたメッセージを明らかに見て、それが問題に層状に分割を分析するために学ぶことです!私たちはゆっくり突破口を見つけることができ、多くの人々が困難な分析は、わずか2ポイントの本質を分析していない、それは十分に強固な基盤です見つける小さく、第二の点が分割されていないに大きなスプリットのみ、どのように解体ステップバイステップを知りませんソリューション。


おすすめ

転載: blog.51cto.com/14478010/2427773