posix advises ...
hello everybody,
recently we had a bit of a nightmare with some kernels and concurrent
seq scans.
the thing we encountered was the following: a single "SELECT COUNT(*)
FROM table" on a big table (50 gb) gave us constant 350 mb / sec I/O. as
soon as a second scan dropped in speed dropped to 2 mb / sec. first i
thought that some random I/O dropped in but synchronous scans worked
fine. we found out that there is some madness in some linux kernel /
controller combinations causing this issue.
it did some tests on my local boxes which was clearly not affected by
this problem and I have seen a single SATA disks dropping from 65 mb /
sec to around 45. this is not good.
i found a patch by grep stark implementing posix_fadvise for bitmap
scans. i quickly hacked in suggestions to issue the same advises when a
seq scan is done.
the impact was surprisingly high. single scans went up from 65 mb / sec
to something around 70. concurrent scans are basically at steady, high
speed - no dropping I/O speed anymore until something like 16 scans or so.
even the broken controller when up from "350mb -> 2mb" to "350 -> 50mb".
by replacing the kernel and the driver we see steady behavior here as
well now.
maybe it is worth to discuss posix_fadvise.
we hacked up a simple patch based on greg's work which nicely fixed the
problem for us (brute force).
we also made some simple autoconf hack to check for broken posix_fadvise.
maybe people want to test if they see similar performance differences.
if a patch like that is likely to be accepted we would hack up some more
clean implementation.
many thanks,
hans
--
Cybertec Sch�nig & Sch�nig GmbH
PostgreSQL Solutions and Support
Gr�hrm�hlgasse 26, A-2700 Wiener Neustadt
Tel: +43/1/205 10 35 / 340
www.postgresql-support.de, www.postgresql-support.com
Attachments:
preread-seq-tunable.diff.gzapplication/x-gzip; name=preread-seq-tunable.diff.gzDownload
���H preread-seq-tunable.diff �<{_����P'kc��� ��q�$�`(&m�85k{�����>.�w��f��!�9����I�Y�h4I�����5�>�i���_���8��K�R����e���C�2p�B���������*�m�R���P����wk�R%��J�RY/
wL�Pl��T+����[�
�_��j��_��
/^���P�Yv��3����'s��a����<_L���
{ l�\�������w��86��������H�-\l@o�[o��
����=��h�|�����=����31u\z�������"��"f2��9�@"���e0�!��dN^�B@���&J�������v�)L������Y��M����'����;EB_��j���C����s�?����������,b����5���4�SC���Jl�����b��5���S�N,��^�a�Z������P�$��3��3�|f#�S�X}���Y���
��7�Rk��9����J���/���$��^:�k�2���j�2l�8��������f���6@���M�H�����@�m
���
�����7�_���'��'�/x�rb�I��Q���S��c�=\e�"� b ��z{t�w�o�����;.�^�a~m�od+1���q�M���[�% ����B&�"���#�?��t}�tg$\1�y)����G� !q��C(�(d���~ Z�S34����b�^���������f��u�$�z��;����������������{�z��'�B����� �&�
���O!�Fqxf��^Z�)�{���7`1�`����k �Dc�)�vod�f�.���%Y���u�nw,|l����bx9���Olg���������/-�=:8?G6Z�������o����ur��Y���/�����V�������������J�V��z�t{'Bc��`"9J!��$�qo���_�3�0�2CY���U���i��y~r�D�� N+y"�E�@&�xN�%�-�z���7�����t�V
7�jE*r4��)�������~��i�p����i7����(�Z���VR w�0A
5���d���A����"�������� w�<<2�T
�����g F�ZY�z��
�'��f
�\���d_�����u���E��[\�����B�\��<1F312}@�"\4?�#D8/�M�#��<�X����p&lH��e��s_N��|��r�C�6�]����������������,Y�4!��`< ��v�L����v�G�t���������m`�
6��F2��,�f�����������\2�G�sE!��~aD�lEqm`;H�
�M�O�2�#���S����N���g����C;�a'�z�'�%���� ~J+"Z+�%��$�^/B�� 4�&��_�]� ����(� nP�VB������{�]����L�(wO����
�����z��E��x18(�������Cq���,~7�qz�@O�wr|�l�k���nL})��R� �d}$��4V7�h=0�&6IaH_z@�<�8o���]����H��Sv5�� Vf���1<��mNZ��5�z����j���_�B����^��y���=�c o=l���k��*i3Z�����(J{0���K �bY �`oH��R�i�jhY���fh�������L��v��6�Z��;d�P}A�tBW ��j{��w�)����F�=�|>�x��!�E�`�,���� �~$+d��1@�0 5E�
=�^;�
W���D`�N����U>��H�.5���SzV�1��N�T*�����9f�N�}�+�������p P^����L ���+gk�Qa�~Ol��$9�3�����^�(R�'O��-J2��b}{�R�K�^�ft�lT�����^Z��/��l'Z���?��Y�D��~VOm,�r'���������Y
:���k�.�z�����|���u�zJ�X]H�����\�CK�p��)B?�M��:k�?P��Dw���-xHc����d�p�@��w�?D��`���� ^{J��]��z7)�JbL��G���?���?<��5������E�[�$�T�Q�����u�:��M����������������IN����~���y�:9��)9�����_IN�������}Er�'}�Br������d�w�zu���~spt4��43��T���F����3��y�B��(�!�3
�y($���_��_/�l�}���\n ��:�*��_��2���t���������5�S���06.`_�� �1'1��)���n���M�n�-o����&0@���q
J��! �|��F��r�:��"4e��4��r#n��s:��c��>�[u)|/�F�S%�������o��/K�t�7�%����tI��tI��)p���sN����o�hH5�;��4OJ�(������fP�\��da����0=��21&;��E6�k��M�d�{�1"U�b:���T"��*�4�J{5-�����q�LC+���P����]�V�I����,N�-T'��R�s|���^F�,��oP!:������4:��; �t�26H&����i�i:�
�W�S��7:#�%"�� �t!m���r��M'i�;l��Zk��J��12o��[��E'���E?;sX��wS�w ��]o$�c��i��L,�M,ERs ��s�4Kc���c�0�jfJ�hj�T�8�s|�jj���F�(��
M�7�,c���+��������L`)k�|+,�'Q�����\�O�V����B��no��l�Br1�vg��� T?�r�Z$�N��.�$\�h8��y��n���q����.i.a
�f����������Ux���m�N^�A���Y+�n�
������Y+|��Z���������K���{3"Q���*+{Y9�J�_��
����?0�*�1u����wGs�l���}S$��p�&���J��e�2�4��Q"�^��N�}�rlK�IN�]FtE�p�3�}�r�)tiL�$��@jd6�}�8}�����i��C����(��6�D\O$��HK,/���[���Qui*W~&����<�{�:�K_�E2��(R��u�I�E��I&��T6�\?�Q���k^v8h;sW�\��*����Xe�m�Kg��c#�d���P�U����/�����O�B��O8�5#*������� z(�p����0��|H���h�H��`��C����e�G����M�����{���FY�_+�Lr#���dq���hJ��R���nS�����UeJ {P��Yv�5�i�� cX���s�Oq`O�Q�� �0KP*-
��@��<)|SL�=�L2d}��,���% C�&���]xl����5�Qj"�z������l�����,�&�H��&=�%�����"��'Y\A�3�I3�XT�&�Tj�U��@ ��#<n�e�L���d
4���j-���L��'gUHh��W���d�%����_qZ7���#!���r��<��RD����c�U�������[��>�%#���>�a��7��Cs+����XR��F���#b
SW? RRL�8�p���$�,r��/wf�i��11]?y��%n
*x�rC�$������k���RbI��<A>�S%��pP����9BR�EC�3��� ������<<�w|��K����3���*e�ZSY=yj:c^:�_����E��\u�^��;�;�U�$9�
�3��W�}���q���yj9 �����)m����C��v����aW��X���^1[����];�4����{����5.����3"��>B(. ��:�b����O��@���l<N`��O���Q�g���K(���x^�c#�6
����� ���t�gV��3���uE2x��&����������}������I)*U^c��5�5�q2�.��#.A�����"!mE�%�M��q,&���dG0/�U��7?_(�7��i��'��_�E[�^~�(��-�v�_�^�A\B�:�6�]����|�P�R9�!���1�r���93�:#�}@<�t�<�$+�e���D��w&�gHG�_��_���99~do��iH%�k��EQv��W �^uk���(��F���t[���gh�h������4u�L� 4�V�!l�W�fm��%A9�Tw;�����"Q��n�X0U��P�w��+��%�*�L�������#���W�T|@���
.):����d�5k�W�.��9�G�C�j�z0��w?tNAOrJE����-1�?��4U�-���B:q70�Q~��SOt��J}��&Wt��l#�X���H(S��{I�B����j�>���g@�w$�W���|}z����o
xef��0zy�>����-U���B"���q��
k0�����!�L�=� Z����Re3����9��NQ�f���q��h�Avv��|PA�O�+v�34f�
1Q5�
�JSu�������{�.�������1�p��\H3oQ/��J[U,\��e?��!e�"��7:M�;�^�]�@�T/�:�%���"����v{ �!ra�E
�T�!����(U=Z�i�G�:��D�.��g�,<~����� 4c;�S�rE��6�W�������~K�K� �%��>MW!�� ����������S(l�j��v��S
2U��v(T ����I�(��[�{ch
Z����CKut��{�����
>F�_=���_knj ��~��k:Z�',&��$g�����r)UH�diDU�1�O�����.�G��K
�/h��G� �5y��pi���?��n>l�w��<���`�r���Qw��t��r�F�P��a�BFDoO�)���+�t��TVs��|�Y�v�ST�LJtf�6����N�������t�Y��G�G�ZF*e}�X�A��B�|JZy�iB���`��tz�� +����o�����_����z\�r��������[FQ�z�����W�Y��OP�_�9���2����C7�^�_���Z�,;����a2�=��d�EB��x��.:A>�w�p��a\���>V���O���<�~�z}�W�+���H�w����s(W�E���K��N�*��?����a`0�|��;�zN���e����'/l#D�u<��3��) WS{A�h�����k;n�t>�[���
�����H�86o�I0Q'X$
R��tt�Z^���8�`"l�$��-/���"�C������C�������GGL���a!��"\����"��rz5��U�������UPD�3��_X
pH)��gR��,T�+��X����O���V�����?���]��3����VZm�R������*Vw���C�e�#D�+�^�$+�#a�`�">.�%K�Ie����1�"Q�����S=Gv������1R�����v��z[q�b���8f^��M�Gx�!�2���>o�/C�����>[@�>����9h����
S�1����K$�V�Ps��":��qG0��$3lF<+�K"���������Y$��`����O�~[`N8� �bj� �Q��iT)R'�+������.�S��Q�"�Jp�:_�S��$.��#���I
�I��D�����"y�:���R��+(4�1�$��m��2�U`�4h����a���F��q���*z � �
��k���afrN&�/dvf��YG��1����l���T�EjI-�}� �������S��J��������Vj�o6��������Wo�R���!$��f��{w��d@�����C� ��������U���~=�j������`J~�'����~
�#��?9
��J�q2���3WC2��F�(*�����c.��r!��-y�x�@�����N���G��@T��X���~�I�wH�#H�(���P8�����o��
^<}��/0��$>�Q���Q�f�B
�1�N�g���)�J<{������6� �<��!9d�_<c� *���� �vt��[$?t�O�>=�JGvg�<y���gGq��90��A��z@�P";��c��W��*B�?�~���g�?�N����G�},�{���G ����`�/�p�4$y��;���P�o?��M������8����o� � �W({�'$ G���������������94��:x3`�7O_�J�c���z����/�U�q�<O��b��Q����c����#�x
��6;?�8���a?_�y�v�cX��s�����t���B�|6�~��`(@0���K��?��� �X�3����l[��������fM~�/�������������_��������;�#H����/%V;y���7@�pa��4s�\,������G����X-T708~����/����?���[������G���?��N"z��=|q��������~p����>@����G��q�4N����_��b������h��-��'x=�����_��������_�x�������`!��_��x&�y��-�m
�s�b��u�!�����N,��Z$�cr�X)N/6j���bl������KB46j�'gA�?X�������2��%c��" xa��PJ�Q;�.���G�~NG��i(�T��`�g���EH���K����F�V"QPWL�6j2������&r�_��^&/�������=�i�)�F-K�`$Z�e����(�E�Q�+�G0:��O�U�L�$m�a��+~��N��t ����L4�F�G|� ��i�&�S\Y�>m�����d_���0� ���%TJdp/�7�S�+'T��T�� U5�V�2(��~ ���R��?Czc ���0��%.�.zDI���vm����Qj�?$*?��8�H�6j@�6jH��/�2�S�/��
6S�^� �����HFi�K��wL��'�����&\����5�"]��v��\�Y����W����&`8E �}�kK���#b��R1XM���� �� �b?e����:N�'�d&�HDl����F
��9��/2��%���H�FM�e�������19T"/v)���<��N��U�8���COy���F�F)������#P�1�\&S��(~4@C����e�����v�E� ���fPt����G\��M����������i2?='�M5
�I1�Mb��s���e�T�����C9�6������2��C+��T�H�N�h�-(l�M�����G{K���A:
�����
��%�hd�O���a@M�#��;�{���<���,��Ja=�oC�:����F�
LgG��E��+)�lW�M�|0H�.�U����-c�5L84��V��@����Sx�?�T�mp��z��p��d[��� ���}t_�B�0.5��TV��^�5-�0�~�0Y�Y�{T6V �������.����l�C��<���m�!W!���p>0�f�s��+�������["��&��,I;e�u�0�y����V\���dS�������4?���'���[D44���Q��m\�S\����?0{3���_P��U������~��.-v0(eD�+�i�0�z>��@��N"rxHG����:*\�����w�&ZT_� ��z��A�T�x.E��*�a��o0mh�K��I�_�o���M��%R��������f^���k4X�Cwc%�r�JFX�=��6�.�EZ{�{�5�&��O:��dz'�2���~$���%���'_��;,��<x�j�v���"�V����"�I�T�N�L������D��|MVY<h�&�5����=�>�c�nG�N��%����J���]��j������/"<�G"S|�f����7���\�Hh��t�LO+i�=~�&u������G�����^o���?oK������
���5��J�������vm�k������p��?�?�~/S�CK��rWxx�+�������>)Kf�.e&8��$�U|���m�R���#� �G�=��,e�:��i������7��f[���V2��H*Q�!}O�������S
�l����E6�����mw}�NB��>B�2�MO6y�������;�o{{�l���B���eQ����q���N*���3��r��op%$]��nR���g��)I?K��H���P u �j�;��w�u�� J�NL���("J(�g�X����k�M|���F�O�j=��O��H���2<8��SG������s�L��$��$_�o�KQJUq�����`�~���L!�g��U�C�O�$^PM`�A�9�������%y��%���t������_�|%yU3������d$�;y����%��fM������+���u%�3'�]������Z�,�H�I���t�����"�����k�����j�+�"5����k`�������?��.��m��g��tZ��K��h&Z���$� n�Z'���L����|���/�3��y6�����T��C��|���;�gTS*c�S����md(�1�Z���|��%�
���c��}�m��7�������1F������7��O/K'�
]?}�n�p�;u�)Qo��qP��J���,��4��b^���8�}-���*��m@������-��T�*5�
��
�jPbaL�#i��_��\�t=�oo��r�&#?Y�ja��H��bR_q��'��?�.�X ��4�I�Y����Q����&B|o<����3��^�.X��M���$��M>���'mS�Zgl�D-�S����U��J��=�g�I����"��3��A�0#6���+��e��?�}��0��W����/7,WXqo\yC_�n���&l%���O�K0�8����x8��1�����l���&��C�� ��L���z��F���F�7��hF�7l��8������b��N��[�����T7:=T�F(��
��� 5�;t���Q���?�-.��b.���T��S�"�� �K��~�n��� �k�6��Za�be�H%o<��t?�S�+����][k�GY��-����f��~��)��;x�wA�o�v���0'l�~�n��T����l<j��z����9�������
���B�!H2�b3 �o��.S������{�������O#��
�������
<��{���w�Q*I�2�*�������xF�7��0��;?SQ�Y���V[r+7����'��g)����i.�w�B�`>��ta�^h���2�\V)urr��U������p����k8`��e7� �:5@t����AM<GE���:-��Q�,�X����D.�����A_���8WKT�BW`eI��Y�v+q%B�����Z����x����(RU�S, ���)�I�� ZI�����h[��(�������#�U�Z'X�dY��%���Y,Q���*3���>��O���%K*T�z� ��E�{{��)���8 xd������l)��4d�x0���On��]2!A�����&q��r�i�N���$vY2VH���m��ZB��@���Ph�1��3��+SC��j6X4��|�(�y�|�>�o;!�HG��C�������� �I�
�f�r)�s3�Q��S��-�8��S-XwQ���J^���F������E/��H�����>KO�peRv�`K6'�d����H]P.&K�'/3y�n���'�K�j�O�.�6��H�Q��������T�v���Eec��C^��a�u���;<�KVfH������z �Ddjb DNv�@.���t�|�R�P`%�_�6�$� q�A����L*E9���������H�F����[UP6��,� )#�)[�TU&�m&�<4�/�c�s ���WLc]Z`>��LL$�^�E����L%�e�.�H�k�J�*�� x���4;25��D~����k �[#��+t+M�(�*��c$�A*<���O&�
�Ar���p���@�_[��^py��?���$a�����*Q�8�y�:p`nt�M�S�s����NhH�w�2:&��H-�����
r�yA�,e�oQ���I�0�l9�C��j%22�1��^~���n�s��Mnar6����'rR�(<�CQ~,3b!����b��.����gY�>�Yv�[���C~[��
S��Y'A����F���r�T� �
�]�=#r���t�����k
��{����J�O1*G���#����'�9��������5�[��~s��������!f�s?�,Pi�E�h(7��������? ~�wz�!�S�6��U����j�mj�:���TD��f����f��\�(�?&9�����Xs�
�,c�����wt�u�����+)���3��
���T��g�9�*bzq�w����.%7��2������8��b�h(
I_5c]#��)���5.�(�,{x����Z{2��4�S�FI��=�F�����%%rU|��:yZ�3}��g��<�}'�����._���,.���cWcla'-8
xV~�,�m4pR��7��D��8wzm��g�^#�����K����O��z�r����D����/��|ruN��v~K��;�r�����LN6�rv���8`�% ��TQ�87��W��rC�L���L��+� ��J3��<d�!��0�X��G���t�!���2s�WS�f�-�-�\������=F���I0�N�l7�9qm����aIG�J��#E����7��0�
~��!l��0!�b�>��;�q�t'�J����`L�%�K�X�C
.���H �C���S���PW�0@xV���+�y��]0�F���������R":��f�8�~�Z�-v����&x�����\(��s:����wH��G<T��x&\L���O>�wu���������W"X����RT��4=;n��?8�C~U\���%�����v��j������>����_��y�q 6���sD�n��rY����O�M������F4h�W�������+J3�A��"�J����h/�-B[�n�4��|��kGW���'P���z��=���j
��aB{`��x�� �I���#�W����?�'9�1$�w{�QF"Q��[^�Slc���2����,�A���.7w
�����.��
�19�!T~�`J8�S]c��G�D�8������c'
E����(s��j��)�"�d(u����qAr:�����+&��#����'8h��&��I�����^�"������\���^����"�5D*c_2�JI}��|�G���:��{H������M:�4�P�z9��,&En�A�.�R�r������:5�*���l4�sh�F�&�rM�C��������x@�H���-��_���]t��������}������lRc�e6����t�Q���zd��\H���� <���Rr�g��BV��Uvq�^1;����V��@N:�����h
I���eQt3��2�N9 ���H�x���\��r��nB97p�m�d�"X��a�^l�*��Z q:1�RZ�a���J� ==~|����Il *W��1���R"L|�id���DY��&uFZ3�<D��gL��V���;
0��6C@�p%c����u����C�j^�W�D��GW�<�-�4;�S�*>`�e�vc�����B6+-�x���$����g�qs4>j�A&g��-��?gf��^����>�N���!�i�< �����HI��}�M�"7"R���BY�������9�[��Y����r-,���&d�@�Hds�hK�g^���L����N�Z������X����b_j(I���0%Y3�!�6Q�E���8�����[�%�OH���J����P]�814U���Jg?IY�d������ye$��8��A�+j]���k�t�v-b�� �?)i�+BM`SXK��f8��Df��$V���P:�|iK]�,�L8�����x$�s����Ne���U�Ib�H��b��_��y�����1$�P���0�W��$�e�J�^��e
@ s�b�S�I���I��S[p��_oI�RK�;5��#��]�d+��J�T��h���%�$ �!9��9{�F�?��O��o�8�����o���w0�L�0�^������.��M��0�<r�F����F�y����!,�t�������[�o�����=��_�����U����M8�o��m�����+�`�H�>j�=�u��,�oQY�hH�����M�<=���1��(��f� ����B]1�yD�!�N������qp���3��7�T���,�OcIQ��+H��uMM���q�i���Fk��(dk�I�DR�����|;����6:D1�h��M9jH>��0~����R������H�,8�&