<div dir="ltr"><div>Hi Ishii-San,</div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 14, 2023 at 10:08 AM Tatsuo Ishii <<a href="mailto:ishii@sraoss.co.jp">ishii@sraoss.co.jp</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Usama,<br>
<br>
I think you are wondering how the patch affects the performance. So I<br>
did some quick testing using pgbench. In summary, with this commit I<br>
see 3-4% performance degradation.<br>
<br>
pgbench -n -S -p 11000 -c 10 -j 5 -T 300 test<br>
<br>
without the patch the result is around 29,000 tps on my laptop while<br>
with it the result is around 28,000. 28000/29000 = 0.9655.<br>
<br>
What do you think?<br></blockquote><div><br></div><div>Thanks for conducting the tests.</div><div>3-4 % seems quite a significant degradation. So one possible way would bet retire the</div><div>minimal parser and always use the standard parser so that we can save the extra scanning</div><div>needed for the detection of multi-statement queries.</div><div><br></div><div>It (removing minimal parser altogether) may be less of a performance overhead than this. What is your opinion?</div><div><br></div><div>Thanks</div><div>Best regards</div><div>Muhammad Usama</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
>>>>> I temporarily turns off the optimization and adds regression test for<br>
>>>>> that in master branch.<br>
>>>>>     <br>
>>>>> Hopefully before releasing 4.5 we find a way to determine whether the<br>
>>>>> query is a multi-statement query or not in less expensive way. And if<br>
>>>>> it is not a multi-statement query, we can turn on the optimization.<br>
>>>> <br>
>>>> Maybe we use this in the PostgreSQL source code:<br>
>>>> <br>
>>>> src/fe_utils/psqlscan.c<br>
>>> <br>
>>> Attached is the patch to import psqlscan.c (and other necessary<br>
>>> files).<br>
>> <br>
>> Attached is the v2 patch.<br>
>> <br>
>> - Never use minimal parser if pgpool is in replication or snapshot<br>
>>   isolation mode. Before introducing psqlscan, we did that way. I just<br>
>>   forgot it.<br>
>> <br>
>> - unbreak "make dist".<br>
> <br>
> I have pushed the v2 patch to master branch.<br>
> <a href="https://url.avanan.click/v2/___https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=48da8715bf403965507eef0321c0ab10054ac71c___.YXAzOnBlcmNvbmE6YTpnOjhlZjg1YjBjMjIxOTFkNmIyNmQwZWM3YTBiMGU5OTRjOjY6NmMwMDpjMjdlMWNmMjM4OGNiY2VmZGQzMzZkZTBjYzBmZTZhMWNiMDdiNzVjODhiODRkNmQ2ODM3OWM5YjQzN2MxZDIxOnA6VA" rel="noreferrer" target="_blank">https://url.avanan.click/v2/___https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=48da8715bf403965507eef0321c0ab10054ac71c___.YXAzOnBlcmNvbmE6YTpnOjhlZjg1YjBjMjIxOTFkNmIyNmQwZWM3YTBiMGU5OTRjOjY6NmMwMDpjMjdlMWNmMjM4OGNiY2VmZGQzMzZkZTBjYzBmZTZhMWNiMDdiNzVjODhiODRkNmQ2ODM3OWM5YjQzN2MxZDIxOnA6VA</a><br>
> <br>
> Although this could be regarded as a bug fix, I hesitate to back patch<br>
> to stable branches because the patch size is relatively<br>
> large. Comments/suggestions?<br>
> <br>
> Best reagards,<br>
> --<br>
> Tatsuo Ishii<br>
> SRA OSS LLC<br>
> English: <a href="https://url.avanan.click/v2/___http://www.sraoss.co.jp/index_en/___.YXAzOnBlcmNvbmE6YTpnOjhlZjg1YjBjMjIxOTFkNmIyNmQwZWM3YTBiMGU5OTRjOjY6NzllZjowZjU1MGYzNDYxMTkwNmY5YzUxYzEyOGM1YzlkNTE1MDU0ZGM0NDQxZjJjMTEzN2U0ZWYxYmZhNjY1NmY0YWUyOnA6VA" rel="noreferrer" target="_blank">https://url.avanan.click/v2/___http://www.sraoss.co.jp/index_en/___.YXAzOnBlcmNvbmE6YTpnOjhlZjg1YjBjMjIxOTFkNmIyNmQwZWM3YTBiMGU5OTRjOjY6NzllZjowZjU1MGYzNDYxMTkwNmY5YzUxYzEyOGM1YzlkNTE1MDU0ZGM0NDQxZjJjMTEzN2U0ZWYxYmZhNjY1NmY0YWUyOnA6VA</a><br>
> Japanese:<a href="https://url.avanan.click/v2/___http://www.sraoss.co.jp___.YXAzOnBlcmNvbmE6YTpnOjhlZjg1YjBjMjIxOTFkNmIyNmQwZWM3YTBiMGU5OTRjOjY6NzhmMzozNjM2M2E1MGFjMzJiMDQzMTQ2ZTk2ZjNjOTFlZGYwZmU2OWRhY2M1MjIzNjczZDViYWU5Mjk2YWI0YjQ5ZTNiOnA6VA" rel="noreferrer" target="_blank">https://url.avanan.click/v2/___http://www.sraoss.co.jp___.YXAzOnBlcmNvbmE6YTpnOjhlZjg1YjBjMjIxOTFkNmIyNmQwZWM3YTBiMGU5OTRjOjY6NzhmMzozNjM2M2E1MGFjMzJiMDQzMTQ2ZTk2ZjNjOTFlZGYwZmU2OWRhY2M1MjIzNjczZDViYWU5Mjk2YWI0YjQ5ZTNiOnA6VA</a><br>
> _______________________________________________<br>
> pgpool-hackers mailing list<br>
> <a href="mailto:pgpool-hackers@pgpool.net" target="_blank">pgpool-hackers@pgpool.net</a><br>
> <a href="https://url.avanan.click/v2/___http://www.pgpool.net/mailman/listinfo/pgpool-hackers___.YXAzOnBlcmNvbmE6YTpnOjhlZjg1YjBjMjIxOTFkNmIyNmQwZWM3YTBiMGU5OTRjOjY6MWM1ODo3YWRkNWNkZjEzZjY0MTI4ODhiMWQwMmNmMjk3ZmYxNTcxNzIyNWFkNWNjMWQxZWQ5ZWZmNmQ5ZWM2MDVhOTFkOnA6VA" rel="noreferrer" target="_blank">https://url.avanan.click/v2/___http://www.pgpool.net/mailman/listinfo/pgpool-hackers___.YXAzOnBlcmNvbmE6YTpnOjhlZjg1YjBjMjIxOTFkNmIyNmQwZWM3YTBiMGU5OTRjOjY6MWM1ODo3YWRkNWNkZjEzZjY0MTI4ODhiMWQwMmNmMjk3ZmYxNTcxNzIyNWFkNWNjMWQxZWQ5ZWZmNmQ5ZWM2MDVhOTFkOnA6VA</a><br>
</blockquote></div></div>