-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
api get_info has no response randomly #991
Comments
When syncing |
I have many errors such trace api plugin configured I call trace_api/get_block /v1/trace_api/get_block '{"block_num":401763564}' with different blocks |
Please try again with https://github.com/AntelopeIO/spring/releases/tag/v1.0.3 |
Tried 1.0.3,better than 1.0.2, but still met about 10-20 times in one day with per min curl test. |
Can you provide the nodeos log at a time when there ia a delay. Also please provide config.ini and command line args of nodeos. |
cat config.ini
# Specify the Access-Control-Allow-Origin to be returned on each request (eosio::http_plugin)
access-control-allow-origin = *
# The name supplied to identify this node amongst the peers. (eosio::net_plugin)
agent-name = "Cobo EOS"
# Enable block production, even if the chain is stale. (eosio::producer_plugin)
enable-stale-production = true
# Limits the maximum age (in seconds) of the DPOS Irreversible Block for a chain this node will produce blocks on (use negative value to indicate unlimited) (eosio::producer_plugin)
max-irreversible-block-age = -1
# ID of producer controlled by this node (e.g. inita; may specify multiple times) (eosio::producer_plugin)
producer-name = coboeos
# Maximum size (in MB) of the chain state database (eosio::chain_plugin)
#chain-state-db-size-mb = 8192
chain-state-db-size-mb = 131072
# Limits the maximum time (in milliseconds) that is allowed a pushed transaction's code to execute before being considered invalid (eosio::producer_plugin)
max-transaction-time = 60000
# Increase allowed abi serialization time for slow test machines #4505
# https://github.com/EOSIO/eos/pull/4505
abi-serializer-max-time-ms = 5000
# The local IP and port to listen for incoming http connections; set blank to disable. (eosio::http_plugin)
http-server-address = 0.0.0.0:8888
http-max-response-time-ms = 1000
# number of blocks to retrieve in a chunk from any individual peer during synchronization (eosio::net_plugin)
sync-fetch-span = 100
# Can be 'any' or 'producers' or 'specified' or 'none'. If 'specified', peer-key must be specified at least once. If only 'producers', peer-key is not required. 'producers' and 'specified' may be combined. (eosio::net_plugin)
allowed-connection = any
# Maximum number of clients from which connections are accepted, use 0 for no limit (eosio::net_plugin)
max-clients = 150
http-threads = 20
# Key=Value pairs in the form <public-key>=<provider-spec>
# Where:
# <public-key> is a string form of a vaild EOSIO public key
#
# <provider-spec> is a string in the form <provider-type>:<data>
#
# <provider-type> is KEY, KEOSD, or SE
#
# KEY:<data> is a string form of a valid EOSIO private key which maps to the provided public key
#
# KEOSD:<data> is the URL where keosd is available and the approptiate wallet(s) are unlocked
#
# (eosio::producer_plugin)
signature-provider = EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEY:5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
# Use to indicate that the RPC responses will not use ABIs.
# Failure to specify this option when there are no trace-rpc-abi configuations will result in an Error.
# This option is mutually exclusive with trace-rpc-api (eosio::trace_api_plugin)
trace-no-abis = true
# Plugin(s) to enable, may be specified multiple times
plugin = eosio::producer_plugin
plugin = eosio::producer_api_plugin
plugin = eosio::chain_plugin
plugin = eosio::chain_api_plugin
plugin = eosio::http_plugin
#plugin = eosio::state_history_plugin
plugin = eosio::net_plugin
plugin = eosio::net_api_plugin
plugin = eosio::trace_api_plugin
# https://validate.eosnation.io/eos/reports/config.html
# bp4dex223dao: US, United States
p2p-peer-address = p2p.dex223.io:9876
# cryptolions1: DE, Germany-Finland
p2p-peer-address = p2p.eos.cryptolions.io:9876
# eosamsterdam: DE, eos01
p2p-peer-address = mainnet.eosamsterdam.net:9876
# eosauthority: GB, London
p2p-peer-address = node869-mainnet.eosauthority.com:9393
# eosnationftw: CA, Canada
p2p-peer-address = eos.seed.eosnation.io:9876
# eosriobrazil: BR, Rio de Janeiro
p2p-peer-address = p2p.mainnet.eosrio.io:9876
# ivote4eosusa: US, Greenville,SC,USA
p2p-peer-address = eos.p2p.eosusa.io:9882 |
As my monitor, when the disk tps reach 15000 or more (by command Now, I use AWS EBS io1 which has 400GiB size and 20000 iops. sar -d 4 -h | grep -E 'tps|nvme3n'
Average: tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util DEV
06:11:37 4795.25 97.9M 0.0k 0.0k 20.9k 2.71 0.57 100.0% nvme3n1
06:11:41 3272.75 65.8M 0.0k 0.0k 20.6k 1.80 0.55 97.5% nvme3n1
06:11:45 3190.50 102.7M 2.3M 0.0k 33.7k 2.07 0.65 99.3% nvme3n1
06:11:49 19219.25 101.8M 68.7M 0.0k 9.1k 13.47 0.70 100.0% nvme3n1
06:11:53 18737.75 73.0M 70.3M 0.0k 7.8k 13.13 0.70 100.0% nvme3n1
06:11:57 17381.50 29.9M 71.5M 0.0k 6.0k 12.34 0.71 100.0% nvme3n1
06:12:01 16995.50 12.7M 70.1M 0.0k 5.0k 12.07 0.71 100.0% nvme3n1
06:12:05 16919.50 6.7M 75.8M 0.0k 5.0k 12.00 0.71 100.0% nvme3n1
06:12:09 17088.25 10.2M 82.2M 0.0k 5.5k 12.14 0.71 100.0% nvme3n1
06:12:13 17024.00 4.4M 69.2M 0.0k 4.4k 12.11 0.71 82.3% nvme3n1
06:12:17 165.25 7.5M 0.0k 0.0k 46.3k 0.11 0.67 10.7% nvme3n1
06:12:21 257.50 8.9M 0.0k 0.0k 35.2k 0.16 0.62 12.7% nvme3n1
06:12:25 113.75 4.7M 0.0k 0.0k 42.2k 0.08 0.68 8.0% nvme3n1
06:12:29 159.00 6.0M 0.0k 0.0k 38.4k 0.10 0.65 10.3% nvme3n1
06:12:33 194.75 8.1M 0.0k 0.0k 42.8k 0.13 0.67 13.5% nvme3n1
06:12:37 278.25 9.5M 6.0k 0.0k 35.0k 0.18 0.65 13.8% nvme3n1
06:12:41 98.50 3.1M 0.0k 0.0k 32.3k 0.06 0.63 6.6% nvme3n1
06:12:45 1712.50 3.1M 7.2M 0.0k 6.2k 1.21 0.71 17.9% nvme3n1
06:12:49 52.75 1.6M 0.0k 0.0k 30.5k 0.03 0.61 4.1% nvme3n1
06:12:53 82.25 3.0M 0.0k 0.0k 36.9k 0.05 0.65 6.6% nvme3n1
06:12:57 206.25 8.7M 0.0k 0.0k 43.2k 0.13 0.64 10.9% nvme3n1
06:13:01 128.25 5.1M 0.0k 0.0k 41.1k 0.09 0.68 9.1% nvme3n1
06:13:05 508.25 13.6M 8.0k 0.0k 27.4k 0.30 0.59 19.4% nvme3n1
06:13:09 3866.25 100.3M 0.0k 0.0k 26.6k 2.23 0.58 99.1% nvme3n1
06:13:13 3955.25 101.8M 0.0k 0.0k 26.4k 2.26 0.57 100.0% nvme3n1
06:13:17 15750.00 101.6M 46.9M 0.0k 9.7k 10.58 0.67 100.0% nvme3n1
06:13:21 9752.00 101.0M 23.6M 0.0k 13.1k 6.38 0.65 100.0% nvme3n1
06:13:25 9652.00 102.8M 22.0M 0.0k 13.2k 6.25 0.65 100.0% nvme3n1
06:13:29 5278.25 103.4M 5.9M 0.0k 21.2k 3.25 0.62 100.0% nvme3n1
06:13:33 3765.75 99.7M 0.0k 0.0k 27.1k 2.21 0.59 100.0% nvme3n1
06:13:37 3850.25 101.6M 2.0k 0.0k 27.0k 2.25 0.58 100.1% nvme3n1
06:13:41 3931.50 102.5M 0.0k 0.0k 26.7k 2.25 0.57 99.9% nvme3n1
06:13:45 3995.00 102.3M 0.0k 0.0k 26.2k 2.27 0.57 100.0% nvme3n1
06:13:49 3817.25 102.6M 0.0k 0.0k 27.5k 2.18 0.57 100.0% nvme3n1
06:13:53 4018.75 103.5M 20.0k 0.0k 26.4k 2.27 0.57 100.1% nvme3n1
06:13:57 7332.50 106.1M 13.5M 0.0k 16.7k 4.61 0.63 100.0% nvme3n1
06:14:01 20858.25 103.5M 67.7M 0.0k 8.4k 14.13 0.68 100.0% nvme3n1
06:14:05 20691.00 103.8M 68.8M 0.0k 8.5k 14.10 0.68 100.0% nvme3n1
06:14:09 15516.50 103.0M 46.4M 0.0k 9.9k 10.42 0.67 99.9% nvme3n1
06:14:13 3990.50 105.4M 0.0k 0.0k 27.1k 2.27 0.57 100.1% nvme3n1
06:14:17 4075.00 101.6M 0.0k 0.0k 25.5k 2.33 0.57 100.0% nvme3n1
06:14:21 4215.75 103.2M 0.0k 0.0k 25.1k 2.38 0.56 100.0% nvme3n1
06:14:25 4030.25 99.7M 0.0k 0.0k 25.3k 2.36 0.59 100.0% nvme3n1
06:14:29 4156.75 104.6M 0.0k 0.0k 25.8k 2.34 0.56 99.9% nvme3n1
06:14:33 4033.50 101.1M 0.0k 0.0k 25.7k 2.33 0.58 100.1% nvme3n1
06:14:37 4005.25 100.7M 2.0k 0.0k 25.7k 2.32 0.58 100.0% nvme3n1
06:14:41 14700.75 102.9M 43.1M 0.0k 10.2k 9.82 0.67 100.0% nvme3n1
06:14:45 20975.25 102.1M 67.9M 0.0k 8.3k 14.22 0.68 100.0% nvme3n1
06:14:49 20332.00 101.3M 65.6M 0.0k 8.4k 13.66 0.67 100.0% nvme3n1
06:14:53 4915.75 103.6M 0.0k 0.0k 21.6k 2.69 0.55 99.9% nvme3n1
06:14:57 4839.00 99.2M 0.0k 0.0k 21.0k 2.67 0.55 100.0% nvme3n1 |
Unrelated
|
After add
|
That means you have less than 131072 MB of memory available. If you don't have enough memory for the database to be in memory then you will see higher disk utilization. |
Thanks, load the state in mem (database-map-mode = mapped_private), and the response faster than in disk (database-map-mode = mapped) |
After monitoring the log, I find the cpu metric (like cpu: 37350 us) grows very high (x5-10 than normal) when the get_info have no response.
I am sure the server has enough resource (8c64g) and disk
Is there any config to reduce this issue? I use spring 1.0.2 and starts from Oct 25th.
The text was updated successfully, but these errors were encountered: