Điều này là do bạn đang sử dụng PyMongo không đúng cách. Bạn đang tạo MongoClient mới cho mỗi truy vấn, điều này yêu cầu bạn mở một ổ cắm mới cho mỗi truy vấn mới. Điều này đánh bại tính năng tổng hợp kết nối của PyMongo và ngoài việc cực kỳ chậm, nó cũng có nghĩa là bạn mở và đóng các ổ cắm nhanh hơn mức ngăn xếp TCP của bạn có thể theo kịp:bạn để quá nhiều ổ cắm ở trạng thái TIME_WAIT nên cuối cùng bạn sẽ hết cổng.
May mắn thay, cách khắc phục rất đơn giản. Tạo một MongoClient và sử dụng nó trong suốt:
conn = pymongo.MongoClient('mongodb://localhost:27017')
coll = conn.databases['race_results']
def _perform_queries(query):
return coll.find(query).sort("date", -1)