我们使用NodeJs做服务器开发,使用的是Express框架,数据库用的阿里云的MySQL RDS,nodejs连接mysql的包选用的是mysql(https://www.npmjs.com/package...
这几天只要UV上到1000,就会出现“跟数据库有关的请求无返回”的情况,一直是pending状态。页面都能正常返回。重启一下服务器就又好了。
从服务器后台和数据库服务器后台的日志中都看不到任何错误,监控也都正常。
请问这是什么情况啊?该怎么解决?
PS:我们现在的数据库操作代码都是抄的网上的入门级教程,在实际应用中总感觉不够靠谱。请问哪里可以找到企业级的MySQL数据库操作教程啊,比如要考虑哪些方面,如何编写可靠的数据库代码等。多谢
私の個人的な推測ですが、接続プールは使用されていません。mysql show processlist を開いて接続を確認してください。
プロセスがハングしている可能性があります。接続タイムアウト コンポーネントをインストールし、3 秒間応答がない場合に 503 タイムアウト メッセージを返すように設定する必要があります。さらに、デーモン プロセスを使用してノードを維持します。 js サーバーを実行し始めました。express でプロジェクトを終了した後、使用されているデーモン プロセスは、現時点ではこれだけです。この本には、データベースを操作するために ORM フレームワークを選択した内容も含まれています。
個人的には @Mrxiuxiu が正しいと思います。リンクはアップされているのに解放されていないためですか?