Deno: pool has severe performance issues - very slow on 2nd request and onwards
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- deno, javascript, node.js, postgresql
- Lĩnh vực
- backend, databases, performance
Hướng nghiên cứu
Bắt đầu với việc tái hiện Deno.serve trong index.js và chạy nó bằng deno run -A --env-file index.js với thiết lập node-postgres, Deno, Linux và PostgreSQL đã được báo cáo. So sánh request đầu tiên với các request sau đó và theo dõi đường đi của truy vấn pool; hoàn thành khi các request lặp lại không còn mất 10–20 giây.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
At first, I thought it had to do with the ORM I was using: https://github.com/mikro-orm/mikro-orm/discussions/7782, but it turns out to be an upstream issue.
Reproduction:
import { Pool } from 'pg'
const pool = new Pool()
Deno.serve(async () => {
await pool.query('select 1');
console.timeEnd('q1');
console.time('q2');
await pool.query('select 1');
console.timeEnd('q2');
return new Response('ok');
});
deno run -A --env-file index.js
The first time the website loads, it returns within miliseconds "ok". The second request, (and third etc.) are EXTREMELY SLOW (like 10-20 seconds or even more).
Details:
node-postgres version: 8.21.0
Deno version: 2.8.0
OS: Linux
Database: Docker (postgres:alpine, latest)
- Ngôn ngữ chính
- JavaScript
- Star
- 13.2k
- Fork
- 1.4k
- Merge trung bình
- 6 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 6
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của brianc/node-postgres
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
brianc/node-postgres#3770 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
brianc/node-postgres#3716 · 1 bình luận ·
-
# remove bring your own promise Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
brianc/node-postgres#3631 · 1 bình luận ·
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 62/100
brianc/node-postgres#2857 ·
-
can't view docs for old versions Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
brianc/node-postgres#2433 ·
Tất cả issue của brianc/node-postgres
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
mksglu/context-mode#1200 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
neondatabase/website#5944 ·
-
module: core
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
bigbluebutton/bigbluebutton#25849 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
jaegertracing/jaeger-ui#4506 ·