Menu

#20 The drop in reading speed when adding points to target

1.0
closed
None
2019-03-27
2019-03-07
valera
No

Good day really need Your help, the task is 800 points, they must be put into operation at intervals of 1 second, and these points must be randomly removed from work. If all the points immediately perform a drawdown on reading one second, but the task is that the input was alternated with an interval of 1 second, part of the code. Pause must be mandatory.

echo "add_device aa1 filename=/dev/sda1" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa2 filename=/dev/sda2" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa3 filename=/dev/sda3" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa4 filename=/dev/sda4" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa5 filename=/dev/sda5" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa6 filename=/dev/sda6" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa7 filename=/dev/sda7" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa8 filename=/dev/sda8" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa9 filename=/dev/sda9" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa10 filename=/dev/sda10" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa11 filename=/dev/sda11" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa12 filename=/dev/sda12" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa13 filename=/dev/sda13" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa14 filename=/dev/sda14" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa15 filename=/dev/sda15" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa16 filename=/dev/sda16" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa17 filename=/dev/sda17" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1
echo "add_device aa18 filename=/dev/sda18" >/sys/kernel/scst_tgt/handlers/vdisk_blockio/mgmt
sleep 1

Drawdown to reading array applies to all the targets when adding or removing a point, but the record remains the highest suffers read-only.

1 Attachments

Discussion

  • valera

    valera - 2019-03-07

    Добрый день очень нужна ваша помощь, задача 800 точеков, их необходимо вводить в эксплуатацию с интервалом в 1 секунду, и эти очки должны быть случайным образом сняты с работы. Если все точки сразу выполняют просадку при считывании за одну секунду, но задача в том, чтобы ввод чередовался с интервалом в 1 секунду, часть кода. Пауза должна быть обязательной.

    Linux server 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux

    Если есть кто с Русского региона, и кто знает возможную причину падения скорости, поделитесь пожалуйста решением готов оплатить работу, задача специфичная и возможно просто никто с таким не сталкивался.

    If there is someone with the Russian region and who knows the possible cause of the drop speed, please share the solution ready to pay for the work, task specific and may just anybody with such did not face.
    When deleting also drops the read speed, deleting targets can be arbitrary, at any intervals, suffers with only the read speed.

    При удалении также падает падает скорость чтения, удаления целей таргета могут быть произвольные, с любыми интервалами, страдает при этом только скорость чтения. Это специфика добавление целей сажает скорость или баг? страдает при этом только скорость чтения по всем таргетам, запись при этом остается максимально высокой.

    When deleting also drops the read speed, deleting targets can be arbitrary, at any intervals, suffers with only the read speed. Is it the specifics of adding targets planting speed or bug? at the same time, only the read speed of all targets suffers, while recording remains as high as possible.

    Может ктото проверить аналогичный тест?

    Can someone check a similar test?

    Падение скорости только пока добавляются и удаляются точки, чтения востанавливаеться как только перестают добавлятся точки, но при цикличном добавлении все очень печально, помогите мне если есть возможность решить проблему.
    echo "del_device test" > /sys/kernel/scst_tgt/handlers/vdisk_fileio/mgmt
    echo "add_device test filename=/dev/mapper/test" > /sys/kernel/scst_tgt/handlers/vdisk_fileio/mgmt

    The speed drop only so far add and delete points, reading is coming as soon as you stop added points, but in the loop you add all very sad, help me if it is possible to solve the problem.
    https://cloud.mail.ru/public/2oQi/wQTm61Dn5

    Владислав извините не на того завел тикет, в закрытом тикете Барт ответил но не о собо понял наверно о чем я написал(.

     

    Last edit: valera 2019-03-07
  • Bart Van Assche

    Bart Van Assche - 2019-03-07

    Are you using the 3.3.x branch? If so, I recommend to switch to the trunk. This has been fixed for LUN management on the trunk.

     

    Last edit: Bart Van Assche 2019-03-07
  • valera

    valera - 2019-03-07

    putting the script he put everything just do not answer tomorrow will try to reinstall the new, thank you.

    root@server:~# modinfo iscsi_scst
    filename: /lib/modules/4.9.0-8-amd64/updates/dkms/iscsi-scst.ko
    description: SCST iSCSI Target
    license: GPL
    version: 3.4.0-pre1
    srcversion: 8A4F0DEEBAEC6E5CF836229
    depends: scst,libcrc32c
    retpoline: Y
    vermagic: 4.9.0-8-amd64 SMP mod_unload modversions
    root@server:~#

    root@server:~# modinfo scst
    filename: /lib/modules/4.9.0-8-amd64/updates/dkms/scst.ko
    version: 3.4.0-pre1
    description: SCSI target core
    license: GPL
    author: Vladislav Bolkhovitin
    srcversion: 0C031F5A7CBB526BECDFA9A
    depends: dlm,scsi_mod
    retpoline: Y
    vermagic: 4.9.0-8-amd64 SMP mod_unload modversions
    parm: alua_invariant_check:Enables a run-time ALUA state invariant check. (bool)
    parm: scst_threads:SCSI target threads count (int)
    parm: scst_max_cmd_mem:Maximum memory allowed to be consumed by all SCSI commands of all devices at any given time in MB (int)
    parm: scst_max_dev_cmd_mem:Maximum memory allowed to be consumed by all SCSI commands of a device at any given time in MB (int)
    parm: forcibly_close_sessions:If enabled, close the sessions associated with an access control group (ACG) when an ACG is deleted via sysfs instead of returning -EBUSY (int)
    parm: auto_cm_assignment:Enables the copy managers auto registration (int)
    root@server:~#

     

    Last edit: valera 2019-03-07
  • Bart Van Assche

    Bart Van Assche - 2019-03-07

    A clarification to my previous comment: what has been fixed on the trunk compared to the 3.3.x branch is that SCSI command processing does not get suspended if LUNs are added or removed. Adding or removing devices still suspends SCSI command processing. Is it sufficient if I modify the trunk such that add_device does not suspend SCSI command processing or do you also need to be able to remove SCST devices without suspending command processing?

     
  • valera

    valera - 2019-03-07

    Yes, the task that when adding and removing, there was no drawdown on reading, removal is also important as adding a target, it is necessary for the Internet center when the mass machines are overloaded, they clean themselves and get a new clean copy, and since the data flow is suspended, those points that receive information at minimum speed, hang games, programs for 5-10 seconds until you add or remove target points. This can be fixed somehow? Once everything is added, removed, everything runs at maximum speed. The main problem is that the machines can be overloaded and cleaned arbitrarily, and the greater the number of machines the lamentable result.

     

    Last edit: valera 2019-03-07
  • Bart Van Assche

    Bart Van Assche - 2019-03-07

    Avoiding that SCSI command processing is suspended when adding a device or target is not that hard. Avoiding that SCSI command processing is suspended when removing a device is possible but requires significant work. Today there is only one counter in SCST that keeps track of how many SCSI commands are in progress and it's a global counter. Avoiding that bandwidth drops when a device is removed requires at least to introduce a command counter per device. Avoiding that that counter negatively affects performance means using a percpu-counter.

     
  • valera

    valera - 2019-03-07

    To fix this problem, as you need time and money, I can try on the forums to collect any amount in the Russian region, if need be, maybe someone else wants to join to fix this problem, you can tell the estimated time or cost you will need to collect, sooner or later it will need a lot, but apparently I'm the only one who faced with this(.

     
  • valera

    valera - 2019-03-13

    Thanks for fixing add_device

     
  • Evhen

    Evhen - 2019-03-21

    Good afternoon! There is an organization that uses IET (~ 150 PCs), because scst has the same bug as valera - del device. We really need high performance scst. Tell me please, when can I expect to fix this annoying bug?

     
    • Bart Van Assche

      Bart Van Assche - 2019-03-22

      A candidate fix has been checked in. Please check out the latest trunk and check again.

       
      • bilanich

        bilanich - 2019-03-24

        After the last update, the read speed drop is observed only when points are deleted. The reading speed is restored as soon as the points cease to be deleted. Help please solve this problem.

         
        • Bart Van Assche

          Bart Van Assche - 2019-03-24

          What is a "point"? The name point does not occur in the SCST README. Are you referring to a LUN, SCST device, a target port or perhaps something else?

           
          • bilanich

            bilanich - 2019-03-24

            I mean a block device that is mounted - a disk image. No matter. The same as described above.

             

            Last edit: bilanich 2019-03-24
  • valera

    valera - 2019-03-24

    built and rebuilt with the latest trunk 8067
    del_device 0 second pause

     
  • valera

    valera - 2019-03-24

    del_device 1 second pause

     

    Last edit: valera 2019-03-24
  • bilanich

    bilanich - 2019-03-24

    After the last update, the read speed drop is observed only when points are deleted. The reading speed is restored as soon as the points cease to be deleted. Help please solve this problem.

     
  • valera

    valera - 2019-03-24

    echo "clear" > /sys/kernel/scst_tgt/targets/iscsi/test/luns/mgmt
    echo "del_device test" > /sys/kernel/scst_tgt/handlers/vdisk_fileio/mgmt ------ drop read
    echo "del_target test" > /sys/kernel/scst_tgt/targets/iscsi/mgmt

    perhaps incorrectly dismantled and it gives the drawdown for reading, if something error tell me the correct parse block device target to have no drawdown in reading, or fixed something else and not delete? checked on today's trunk 8067, during removal of the block device to it there is no connection, the drawdown on reading goes on other target.

     

    Last edit: valera 2019-03-24
  • valera

    valera - 2019-03-25

    https://sourceforge.net/p/scst/svn/8067/ is this part of the code not yet in the trunk? 8070 also drawdown at removal

     
  • Bart Van Assche

    Bart Van Assche - 2019-03-25

    Issuing del_device through sysfs for a virtual device triggers a call to scst_unregister_virtual_device(). A patch that avoids that scst_unregister_virtual_device() pauses SCSI command processing has been checked in on the trunk as r8072. Further feedback is welcome.

     
  • valera

    valera - 2019-03-26

    Bart thank You and Your team thanks, I will unsubscribe by results of the test trunk 8072 working.

     

    Last edit: valera 2019-03-26
  • Bart Van Assche

    Bart Van Assche - 2019-03-27
    • status: open --> closed
    • assigned_to: Vladislav Bolkhovitin --> bart
     

Log in to post a comment.

MongoDB Logo MongoDB