python-memcached get_multi has much faster than get when get multiple value

Bug #1483322 reported by Choe, Cheng-Dae
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Low
Davanum Srinivas (DIMS)
oslo.cache
Fix Released
Undecided
Unassigned

Bug Description

nova use memcache with python.memcached's get function.

when multiple litem reterived it uses as for .. in .. loop..
in this case get_multi has better performance.

In my case, here is test result

get 2.3020670414
get_multi 0.0353858470917

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/211250

Changed in nova:
assignee: nobody → Choe, Cheng-Dae (whitekid)
status: New → In Progress
Revision history for this message
Choe, Cheng-Dae (whitekid) wrote :

If you have much more hypervisors, (we have 150 hypervisors), because if this issue Extended_availability_zone nova extensions has poor performance..

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to oslo.cache (master)

Reviewed: https://review.openstack.org/215974
Committed: https://git.openstack.org/cgit/openstack/oslo.cache/commit/?id=0a7c3bf46b2c33f5e469debc018cea79b025c632
Submitter: Jenkins
Branch: master

commit 0a7c3bf46b2c33f5e469debc018cea79b025c632
Author: Davanum Srinivas <email address hidden>
Date: Sat Aug 22 22:17:26 2015 -0400

    Implement get/set/delete multiple keys for dictionary backend

    For some Nova scenarios, we will need suppot for
    set_multi/get_multi/delete_multi for writing to either
    memcache or dictionary backend. So let's add support for
    operating on multiple keys. Note that if we don't implement
    this the default CacheBackend class throws NotImplementedError

    Closes-Bug: #1483322
    Change-Id: I1aca9e65b3be038a507ced8dd039c5413d6c4ac2

Changed in oslo.cache:
status: New → Fix Committed
Changed in oslo.cache:
milestone: none → 0.7.0
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on nova (master)

Change abandoned by Matt Riedemann (<email address hidden>) on branch: master
Review: https://review.openstack.org/211250
Reason: Looks like this isn't being worked on.

Revision history for this message
Matt Riedemann (mriedem) wrote :

Change https://review.openstack.org/#/c/203049/ is being used to integrate oslo.cache with nova which has the multi support since 0.7.0.

Changed in nova:
assignee: Choe, Cheng-Dae (whitekid) → nobody
status: In Progress → Confirmed
importance: Undecided → Low
Changed in nova:
assignee: nobody → Pavel Kholkin (pkholkin)
status: Confirmed → In Progress
Changed in nova:
assignee: Pavel Kholkin (pkholkin) → Sergey Nikitin (snikitin)
Changed in nova:
assignee: Sergey Nikitin (snikitin) → Pavel Kholkin (pkholkin)
Changed in nova:
assignee: Pavel Kholkin (pkholkin) → Michael Still (mikalstill)
Changed in nova:
assignee: Michael Still (mikalstill) → Pavel Kholkin (pkholkin)
Changed in nova:
assignee: Pavel Kholkin (pkholkin) → Sergey Nikitin (snikitin)
Changed in nova:
assignee: Sergey Nikitin (snikitin) → Pavel Kholkin (pkholkin)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Michael Still (<email address hidden>) on branch: master
Review: https://review.openstack.org/203049
Reason: This has been idle for ages. Please restore when you're ready to go again.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/274468

Changed in nova:
assignee: Pavel Kholkin (pkholkin) → Davanum Srinivas (DIMS) (dims-v)
Changed in nova:
assignee: Davanum Srinivas (DIMS) (dims-v) → Pavel Kholkin (pkholkin)
Changed in nova:
assignee: Pavel Kholkin (pkholkin) → Sergey Nikitin (snikitin)
Changed in nova:
assignee: Sergey Nikitin (snikitin) → Davanum Srinivas (DIMS) (dims-v)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/274468
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=205fb7c8b34e521bdc14b5c3698d1597753b27d4
Submitter: Jenkins
Branch: master

commit 205fb7c8b34e521bdc14b5c3698d1597753b27d4
Author: Davanum Srinivas <email address hidden>
Date: Fri Jan 29 12:50:58 2016 -0500

    Switch to oslo.cache lib

    Common memorycache was replaced by analogous tool
    from oslo.cache lib. In-memory cache was replaced
    by oslo.cache.dict backend. Memcached was replaced
    by dogpile.cache.memcached backend.

    Implements blueprint oslo-for-mitaka

    Closes-Bug: #1483322
    Co-Authored-By: Sergey Nikitin <email address hidden>
    Co-Authored-By: Pavel Kholkin <email address hidden>

    Change-Id: I371f7a68e6a6c1c4cd101f61b9ad96c15187a80e

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/nova 13.0.0.0b3

This issue was fixed in the openstack/nova 13.0.0.0b3 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/oslo.cache 0.7.0

This issue was fixed in the openstack/oslo.cache 0.7.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.