diff --git a/Changelog.md b/Changelog.md
index c1794c28604285fcef98d7ac76f69d804729c663..8f4afe18557ca5dd7698aa19760736586abb1196 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -2,8 +2,11 @@
 
 All notable changes to this project will be documented in this file.
 
+## [0.54] - 2020-10-07
+- DBOARD3-334: peer-info classifier performance improvement
+
 ## [0.53] - 2020-09-23
-- DBOARD-328: fixed improper response when router is unknown
+- DBOARD3-328: fixed improper response when router is unknown
 
 ## [0.52] - 2020-09-07
 - POL1-228 (and others):
diff --git a/inventory_provider/routes/classifier.py b/inventory_provider/routes/classifier.py
index a9e5e21173e2ff2d3351d8efcfb317626189c46c..fe1a7496f3df4103a301d241c8402694cab04958 100644
--- a/inventory_provider/routes/classifier.py
+++ b/inventory_provider/routes/classifier.py
@@ -242,12 +242,12 @@ def ix_peering_info(peer_info):
 
     keyword = description.split(' ')[0]  # regex needed??? (e.g. tabs???)
 
-    r = common.get_current_redis()
-
-    for k in r.keys('ix_public_peer:*'):
-        other = r.get(k.decode('utf-8')).decode('utf-8')
-        other = json.loads(other)
+    for doc in common.load_json_docs(
+            config_params=current_app.config['INVENTORY_PROVIDER_CONFIG'],
+            key_pattern='ix_public_peer:*',
+            num_threads=10):
 
+        other = doc['value']
         if other['router'] == peer_info['router']:
             result['router'].append(other['name'])
 
diff --git a/setup.py b/setup.py
index 7535f07008d89e11429aaaed07d2c852060734c4..e955ca263415521e8ff1272197bc0ccf51bfd351 100644
--- a/setup.py
+++ b/setup.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
 
 setup(
     name='inventory-provider',
-    version="0.53",
+    version="0.54",
     author='GEANT',
     author_email='swd@geant.org',
     description='Dashboard inventory provider',