Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Track meta2 cache contention #1874

Merged
merged 4 commits into from
Mar 5, 2020
Merged

Track meta2 cache contention #1874

merged 4 commits into from
Mar 5, 2020

Conversation

fvennetier
Copy link
Member

@fvennetier fvennetier commented Sep 2, 2019

SUMMARY
  • Implement a simple benchmark creating contention on a single meta2 database.
  • Track (and display) average time spent by meta2 worker threads waiting for a database handle. The purpose of this modification is to provide better warning messages when the load on a meta2 database is increasing.

Jira: OB-457

ISSUE TYPE
  • Feature Pull Request
COMPONENT NAME
  • meta2
SDS VERSION
openio 5.1.1.dev46

@fvennetier fvennetier changed the title [WIP] Track meta2 cache contention Track meta2 cache contention Oct 21, 2019
@codecov-io
Copy link

codecov-io commented Oct 21, 2019

Codecov Report

Merging #1874 into 5.x will increase coverage by 0.03%.
The diff coverage is 86.42%.

Impacted file tree graph

@@            Coverage Diff             @@
##              5.x    #1874      +/-   ##
==========================================
+ Coverage   79.25%   79.27%   +0.03%     
==========================================
  Files         391      391              
  Lines       74119    74191      +72     
  Branches     7029     7040      +11     
==========================================
+ Hits        58732    58809      +77     
+ Misses      15151    15143       -8     
- Partials      236      239       +3
Impacted Files Coverage Δ
sqliterepo/replication.c 84.42% <100%> (-0.15%) ⬇️
metautils/lib/comm_message.c 85.28% <100%> (+0.59%) ⬆️
proxy/m2_actions.c 88.58% <100%> (-0.03%) ⬇️
sqliterepo/repository.c 75.16% <100%> (+0.16%) ⬆️
sqliterepo/cache.c 84.77% <69.57%> (-0.7%) ⬇️
core/ext.c 95.9% <90%> (-0.31%) ⬇️
server/transport_gridd.c 77.17% <90.91%> (+0.74%) ⬆️
tests/unit/api/test_container_client.py 92.86% <0%> (-7.14%) ⬇️
metautils/lib/volume_lock.c 70% <0%> (-5%) ⬇️
oio/content/plain.py 72.42% <0%> (-3.44%) ⬇️
... and 41 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9367455...0c6e97c. Read the comment docs.

@fvennetier fvennetier changed the base branch from 5.x to master December 12, 2019 12:41
@fvennetier fvennetier force-pushed the faster-m2 branch 2 times, most recently from 59f80df to 38df7e6 Compare December 12, 2019 18:03
@fvennetier fvennetier changed the base branch from master to 5.x February 26, 2020 18:19
@fvennetier fvennetier requested review from AymericDu and murlock and removed request for jfsmig February 26, 2020 18:20
This benchmarks tests the meta2 part of the object creation process,
by registering fake chunks.
Track (and display) average time spent by meta2 worker threads waiting
for a database handle. The purpose of this modification is to provide
better warning messages when the load on a meta2 database is increasing.
Save some performance data in the thread local data. This is disabled by
default, can be enabled for each service (even when the service is running)
or per request.
Performance data is printed at the end of access log messages.
@fvennetier fvennetier merged commit b386297 into open-io:5.x Mar 5, 2020
@fvennetier fvennetier deleted the faster-m2 branch March 5, 2020 17:51
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants