signalapp / Signal-Android

A private messenger for Android.
https://signal.org
GNU Affero General Public License v3.0
25.46k stars 6.1k forks source link

Slow send and receive (still) #13399

Open MaximosPr opened 7 months ago

MaximosPr commented 7 months ago

Hey guys I've opened the same issue in tha past (https://github.com/signalapp/Signal-Android/issues/13134#issue-1869155712) where I reported really slow send and receive (probably) due to the large database me and my partner have created chatting. So I'm asking: is there a way to store my data in a home server I've made and retrieve data from there instead of loading the app's database? Every idea welcome! (Sorry for bad English).

lgehr commented 7 months ago

I have the same issue. I also have a large database.

thstasy commented 7 months ago

Hi @MaximosPr, from my preliminary understanding, the speed depends not only on the hosts' server( not your server so it probably won't help to install a server at your end, the Signal-Android's hosting server) but also the speed of telecommunication services like AWS, GCP or whatever provider Signal uses. I was trying to find out which database they used but in vain. And there'd be other possible issues I didn't spot.

MaximosPr commented 7 months ago

@thstasy I came to the database conclusion because when I'm using my computer to chat (where I have ages to sync so my database is probably insanely small) I get no lag.

nicholas-signal commented 7 months ago

Hi, would you mind submitting a new debuglog? The old debug log had to be purged as per our policy and I'd like to take another look this.

MaximosPr commented 7 months ago

Here you go: https://debuglogs.org/android/6.44.3/fa32ee8321ee2bcb8bd69dadf590d74aeb3b6c5d05eb8295c10c06910d9fb4ad

maze42d commented 7 months ago

can confirm i have the same issue; a new, short convo is instant, a long old convo takes very long and creating a new group chat with the same person makes it instant again.

cody-signal commented 7 months ago

@maze42d a debuglog from you as well would be helpful please and thank you

maze42d commented 7 months ago

https://debuglogs.org/android/6.47.4/48fc8a340dc3ffb3c9f2e7c110855ccaa215f5d80ecdeaa2b28e03913fe5167f sorry about the late response.

maze42d commented 7 months ago

also just to note, happens in the same conversations on ios as well, exactly the same behavior

greyson-signal commented 6 months ago

Wanted to clarify how signal works: the server only stores encrypted copies of your messages until your device downloads them. Then they're gone. Your device, whether on android/ios/desktop, stores all of your messages locally. There is no way to offload that work.

That said, we've found instances in the past where SQLite chooses sub-optimal indices for some queries based on an individual's usage pattern. This is a SQLite thing, not a Signal thing. I actually just found one that started to affect my message sending perf, turning a 1ms query into a 400ms query. I've addressed this in 7.1

It could very well be that people here were affected by the same query, so let us know if things get better in 7.1. Otherwise, we'll continue to be on the lookout for similar situations.

MaximosPr commented 6 months ago

Thanks for the input @greyson-signal, we'll wait and report back.

mrliuws commented 6 months ago

Tested with version 7.1.1, still slow sending of messages.

Database size is 3gb.

Below is the debug, https://debuglogs.org/android/7.1.1/bcd4af91b4750ea4b63347e5487202976699509fd8fc0d425718f3a06673be66

SilverMight commented 4 months ago

Still getting this on 7.4.2.

Debug logs: https://debuglogs.org/android/7.4.2/13057e8821fd7d3f992e9aa66d1d9f31c58ea4562054acd7e9b2b8b299288448

JulioCabria commented 4 months ago

Im also experiencing the same problem. Messages take 30s to 2min to get delivered. Creating a new group chat instantly made things faster.

My old chat is huge, but ideally this should scale better.

I dont think I fully understand this issue though. How can old stored messages slow down the delivery of new messages?

At least intuitively it seems like sending a brand new message should be a constant time operation (assuming an ideal network). I can't think of a reason why it wouldnt be that way.

mrliuws commented 4 months ago

Just wanted to update, time taken to send messages seems to be fixed in v7 7.1. Sending messages for large group chat is decent now.

Thanks 👍

Julynx commented 4 months ago

Im replying just to confirm that Im still experiencing the issue in Signal Android 7.6.2

In my case its for direct messages with my partner. We have a long chat history and messages take from 30s to several minutes to get delivered. Creating an empty group chat makes messages instant again.

ImJustToNy commented 3 months ago

Having same issue on 7.6.2. DB is about 7GB. Unfortunately, I cannot provide debug log since it is in a forever-loading state :(

SilverMight commented 3 months ago

After updating to 7.7.2 everything is fast once again. Thank you guys!

xDIMOx commented 2 months ago

Still getting this on 7.10.3

here is the debug log: https://debuglogs.org/android/7.10.3/22166dae41afd4de667d748b6e457e490d130076187fed04176094eaf2d673bc

Note to self is instantaneous, even between devices. Don't know if they work like work like normal messages as mentioned before, so sorry if this information is irrelevant.

cody-signal commented 2 months ago

@xDIMOx is this send or receive or both? Your logs only show one send attempt that took <400ms. I also see various network connectivity issues in your logs that could impact receive.

xDIMOx commented 2 months ago

@cody-signal My fault, my delay was sending a message in the desktop app and the message taking a long time to be received (>20 min). Sorry for wasting your time. I will contact the correct project.

stale[bot] commented 1 week ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

ImJustToNy commented 1 week ago

Reopen please, still occur.

cody-signal commented 1 week ago

We've made multiple changes around send and receive, for those still regularly encountering the issue, a fresh debuglog from the latest version available to you is super helpful.