Connection là gì
Trong kỹ thuật phần mềm, một connection là một bộ đệm duy trì các kết nối tới cơ sở dữ liệu. Các kết nối tới cơ sở dữ liệu sau khi sử dụng sẽ không đóng lại ngay mà sẽ được dùng lại khi được yêu cầu trong tương lai.
Xem connection và vấn đề trong mongo
Chúng ta đã biết dùng mysql hay postgreSQL thì để kiểm tra code bạn được tốt trong vấn đề kiểm soát connection thì bạn có thể vào terminal gõ lệnh:
activeconnections
Bạn có thể nhìn thấy tất cả active connections dựa vào show status:
mysql> show status where `variable_name` = 'Threads_connected';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_connected | 4 |
+-------------------+-------+
1 row in set (0.00 sec)
processlist
Hoặc ngoài cách trên bạn có thể thông qua processlist của terminal để xem:
mysql> show processlist;
+----+------+-----------------+--------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------------+--------+---------+------+-------+------------------+
| 3 | root | localhost | webapp | Query | 0 | NULL | show processlist |
| 5 | root | localhost:61704 | webapp | Sleep | 208 | | NULL |
| 6 | root | localhost:61705 | webapp | Sleep | 208 | | NULL |
| 7 | root | localhost:61706 | webapp | Sleep | 208 | | NULL |
+----+------+-----------------+--------+---------+------+-------+------------------+
4 rows in set (0.00 sec)
Thế nhưng sử dụng lệnh đó trong mongodb lại không thực hiện được. Vậy chúng ta phải dùng lệnh nào?
Sử dụng status trong mongo
> var status = db.serverStatus()
> status.connections
{"current" : 21, "available" : 15979}
>
hoặc dùng luôn lệnh này cho lẹ:
db.serverStatus().connections