मैं postgres बाहर कोशिश कर रहा था google-क्लाउड-एसक्यूएल के साथ बढ़ती है और लोड नहीं एक साधारण स्कूल स्कीमाPostgres प्रदर्शन कोर की संख्या में वृद्धि
CREATE TABLE school (
id SERIAL NOT NULL PRIMARY KEY,
name TEXT NOT NULL
);
CREATE TABLE class (
id SERIAL NOT NULL PRIMARY KEY,
name TEXT,
school_id INTEGER NOT NULL REFERENCES school
);
CREATE TABLE student (
id SERIAL NOT NULL PRIMARY KEY,
name TEXT,
class_id INTEGER NOT NULL REFERENCES class
);
-- ALL id and foreign keys have indexs
लोडेड 1500 स्कूल के साथ कुल में ~ 15 लाखों लोगों की पंक्ति, 500 वर्ग प्रति स्कूल, प्रति छात्र 200 छात्र।
उसके बाद
pgbench -c 90 -f ./sql.sql -n -t 1000
2 कोर, 7.5 जीबी, 90 ग्राहक के साथ एक सरल pgbench स्क्रिप्ट
\setrandom sId1 1 20000000
\setrandom sId2 1 20000000
\setrandom sId3 1 20000000
select count(*) from school s
join class c on s.id=c.school_id
join student stu on c.id=stu.class_id where s.id=:sId1;
select count(*) from school s
join class c on s.id=c.school_id
join student stu on c.id=stu.class_id where s.id=:sId2;
select count(*) from school s
join class c on s.id=c.school_id
join student stu on c.id=stu.class_id where s.id=:sId3;
अब स्क्रिप्ट चलाने बना सकते हैं -
OUTPUT:
number of transactions actually processed: 90000/90000
tps = 1519.690555 (including connections establishing)
tps = 2320.408683 (excluding connections establishing
26 कोर, 30 जीबी, 9 0 क्लाइंट-
number of transactions actually processed: 90000/90000
tps = 1553.721286 (including connections establishing)
tps = 2405.664795 (excluding connections establishing)
प्रश्न: क्यों हम केवल 80 टी पी एस 26 कोर के लिए 2 कोर से वृद्धि किए हैं?
9.6 से पहले PostgreSQL के संस्करण [समानांतर प्रश्न] नहीं हैं (https://www.postgresql.org/docs/current/static/parallel-query.html)। यह एक साथ कई प्रश्नों को चला सकता है, लेकिन यह एक क्वेरी के लिए एकाधिक धागे का उपयोग नहीं कर सकता है। – Andomar
मैं समझता हूं लेकिन मेरे पास 9 0 क्लाइंट है pgbench में 2 कोर हैंडलिंग 90 क्लाइंट बनाम 26 कोर हैंडलिंग 90 क्लाइंट हैंडलिंग में कोई अंतर होना चाहिए .. सही? ... या मुझे कुछ याद आ रहा है .. – Bhuvan
आप इससे कनेक्ट नहीं हैं एक सत्र पूलर - सही? कृपया उपयोग बंदरगाह या अन्य तरीका दें सुनिश्चित करें कि आप उसी 1 सत्र में 90 क्लाइंट साझा नहीं करते हैं। उदाहरण के लिए –