Res facta quae tamen fingi potuit (pauamma) wrote in lj_dev,
Res facta quae tamen fingi potuit
pauamma
lj_dev

Performance issue in memcache userpic handling

Passing this on, first spotted by exor674 on Dreamwidth, who says:
I think I should report this bug I came upon while looking at the code however it causes no user-facing issues.
This bug is not causing any visible issues but is potentially a performance issue.

http://code.livejournal.org/trac/livejournal/browser/trunk/cgi-bin/ljuserpics.pl lines 302 through 346

On allpics.bml page and /data/userpics, those pages will always hit the database and never use memcache.
The picture URL field is seemingly never used,and when there are no URLs the value in the memcache key upicurl:$userid will be '', which is false, so the database will always be hit.

This will also happen for any user (without comments on *any* of their userpics) that has an entry or comment on an S2-styled page.
No comments on any userpic will make the upiccom:$userid value be '', and will cause the database to always get hit.

The code should use if ( defined( $comminfo ) ) on 309
and if ( defined ( $urlinfo ) ) on 331

Thank you.
Patch available at http://www.pastey.net/109369-3ctc for however long that service keeps pastes. Batteries not included. Content may settle during shipment. Keep out of reach of children. Not responsible for any damage. Some assembly required. Etc.
Tags: *announce, bugs, bugs: memcache, bugs: userpics
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments