Comments (8)
Do you have some Python tool that lets you trace which piece of code it's stuck on?
from multichain-explorer.
I can install and configure anything we need to get to the bottom of this, but I have no clue on the python ecosystem.
An educated guess, all these transactions are in one stream. Abe can handle the bitcoin blockchain with 90gb even on sqlite. So probably in the additions for streams that are triggered for the homepage.
from multichain-explorer.
You should be able to use the basic pdb Python debugger – see the documentation here:
https://docs.python.org/2/library/pdb.html
We haven't tried it yet, but you should be able to add an import pdb; pdb.set_trace()
at the top of the main Mce/abe.py
file, then re-run the installation instructions in the Explorer README, then use the continue
command in the debugger to let the Explorer start running, then when it looks stuck, use the where
or list
commands to see which piece of code it's stuck on.
from multichain-explorer.
@roderik Are you using dummy/test data? If yes, maybe you could share all the chain and explorer data so we can try and replicate.
from multichain-explorer.
Have a similar issue.
Debugged a little:
2019-09-20 10:11:31.953006
getting num_txs
2019-09-20 10:11:31.985604
getting num_addresses
2019-09-20 10:16:05.755095 <- took almost 5 mins
getting num_peers
2019-09-20 10:16:05.821592
getting num_assets
2019-09-20 10:16:05.876624
getting num_streams
2019-09-20 10:16:21.742359
got all nums
2019-09-20 10:16:21.743385
getting mempool
2019-09-20 10:16:21.791694
getting recenttx
2019-09-20 10:17:47.790923 <- took more than 1 min
getting sorted_mempool
127.0.0.1 - - [20/Sep/2019 10:17:47] "GET / HTTP/1.1" 200 6175
These queries look suboptimal when you have a significant amount of transactions (as any DISTINCT
query on a complex table/view without proper indexes would be):
multichain-explorer/Mce/DataStore.py
Line 3734 in 4446685
multichain-explorer/Mce/DataStore.py
Lines 3894 to 3898 in 4446685
In my case it's actually not that large but already quite problematic:
sqlite> select count(*) from txout_detail;
1758971
from multichain-explorer.
Did anyone have time to look at this issue? It looks critical for networks with significant number of transactions. @gidgreen @bitcartel
from multichain-explorer.
This should be fixable by adding the appropriate indexes at the time of table creation. Do you want to try to add these indexes during initialization in DataStore.py
, restarting the Explorer afresh, and confirming?
from multichain-explorer.
Adding indexes didn't help. Implemented a workaround by using more optimal queries: chainstack#4.
from multichain-explorer.
Related Issues (20)
- Sometimes explore is very slowly HOT 2
- It will always be "connection refused" and multichaind will always to abort HOT 2
- RPC failed: [Errno socket error] [Errno 111] Connection refused catch_up_rpc: abort
- Its posibble look output in json format HOT 1
- Assetref encoded
- Can't use MySQL db HOT 2
- sendwithdata - show raw data or json in explorer
- getaddressbalances and getunspent
- native currency not show with "getaddressbalances" function in non-owned wallets
- Mysql & Postgresql
- SQL - not working HOT 1
- Is it possible to use Mongodb ?
- code to show amount ?
- Configuration of Multichain.conf
- KeyError: '5a8ec07be00d3cf3824377aa0f1cfb7c' HOT 1
- [Questions] Is possibile to run multichain for CryptoNight algoritm? HOT 2
- Multichain 2.0 Support HOT 7
- Dangerous use of .index in Parse Functions (Error on parse_new_issuance_metadata_10007) HOT 2
- Error while syncing blocks HOT 2
- Multichain-Explorer Status No Connection
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from multichain-explorer.