bitpay / bitcore-wallet-service

A multisig, HD Bitcoin and Bitcoin Cash wallet service. Used by Copay.
https://copay.io/
MIT License
621 stars 548 forks source link

Notifications acting weird, causing slow downs. #454

Open dabura667 opened 8 years ago

dabura667 commented 8 years ago

http://pastebin.com/GNjRquzx

I was excited about the push notifications, so I stopped my bitcored, ran npm install bitcore-node, npm install insight-api, npm install bitcore-wallet-service from my bitcore node's folder.

Then I spun it up and the push notifications are not working.

I checked my nohup file, only to find that there were TONS of notifications queries coming from my phone every time I would open it.

(I have obfuscated my IPs with 127.0.0.1 and removed the wallet identifiers at the end)

I never registered my email, so I tried doing that. No notifications came.

It seems as though the notifications api calls were what was causing my slow performance every time I start up the app...

I can't figure out why this would happen... any guesses?

matiu commented 8 years ago

Push notifications go thru Google/Apple servers, are not related to the '/bws/api/v1/notifications' api call. /notifications just pulls updates (if available) from the wallet.

In the log I see queries every ~ 5 secs, that is normal. We removed socket.io dependency because websockets were not supported by cloudfare and socket.io pulling fail back system seems very buggy / traffic intensive. This endpoint is very fast (~ 10/20ms), so it shouldn't be a problem.

dabura667 commented 8 years ago

So

  1. No push notifications for private BWS. Only bws.bitpay.com?
  2. No notification emails unless my BWS is on cloudfire?
dabura667 commented 8 years ago

Also, 1.4.0 has not remedied the lag issues I am experiencing. (I'm assuming the "sped up wallet balance lookup" is not released yet?...)

matiu commented 8 years ago

On Fri, Jan 29, 2016 at 10:59 AM, Dabura667 notifications@github.com wrote:

So

  1. No push notifications for private BWS. Only bws.bitpay.com?

Unless you bundle you own app and distribute it on the app / play store... is the way push notifications work, AFAIK.

  1. No notification emails unless my BWS is on cloudfire?

emails notifications are not a problem in private server. You need to configure emailservice with your proper SMTP.

— Reply to this email directly or view it on GitHub https://github.com/bitpay/bitcore-wallet-service/issues/454#issuecomment-176766033 .

Matías Alejo Garcia @ematiu Roads? Where we're going, we don't need roads!

isocolsky commented 8 years ago

Hi, are you still experiencing these issues?

dabura667 commented 8 years ago

Hi, are you still experiencing these issues?

Yes. I have tested:

  1. Delete Cache
  2. Rescan All addresses from wallet details

My BWS: 2-3 minutes Bitpay BWS: 10-15 seconds

I am watching my log file using less F command while I make the requests, and I see that my BWS is receiving the two-step syncing request... it's just slower than BWS.

in my bitcore-node.json I have created a "bitcore-wallet-service" key with an object containing cluster: true, clusterinstances: 2 (my VPS is a 2 vCPU system) but that doesn't seem to help.

Another point of possible bottleneck is that I am routing through apache. I run SSL through apache, reverse proxy to http://localhost:3232/bws/api/ etc.

subsequent resync of wallet is less than 10 seconds even on my BWS. the GET requests for the addresses from insight is much faster, so I am assuming it was cached.

This tells me perhaps the speed issue is with insight.

I am using the latest version of bitcore, bitcoind, I reindexed with all the new necessary args in bitcoin.conf, running bitcore-wallet-service 1.9.0