1

私は自分のアプリで今日気づいたことに完全に困惑しています。

バックエンドにMongoDBを搭載したnginxで実行されているNode.jsで記述されたアプリがあります。ユーザー名とパスワードを受け取る「authenticateUser」calがあります。次に、MongoDBにクエリを実行してユーザーのドキュメントを取得し、パスワードが一致するかどうかを確認します。

基本的に「authenticateUser」をループで100回呼び出すスクリプトを作成しました。それはうまくいきました。エラーはありません。ここで、2つの端末から同じスクリプトを実行しました。1つはユーザーbill用で、もう1つはユーザーsam用です。両方の端末で障害が発生し始めました。リクエストの約10%が無効なパスワードエラーで失敗したと思います。

ログファイルを調べたところ、billのユーザー名がsamのパスワードと混同されているのを見て完全に驚きました。何が起こっているのかわかりません。私たちは明らかに間違ったことをしているに違いありません。それは何ですか?2つのリクエストは完全に分離されていませんか?

4

1 に答える 1

7

グローバル変数を頻繁に使用しますか?欠落varは、このようなエラーの一般的な原因です。

そして、ええ、私はソースコードを見たいです...

于 2012-05-09T02:50:45.603 に答える