IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2023/03/24
tisratil7 hello everyone. I'm back.
dr|z3d tisratil7: hi!
mesh dr|z3d: do you think the reason the profiles page takes so long to load is due to hidden mode?
tisratil7 dr|z3d how are ya
mesh it's very strange. i2p keeps all this data in memory right? it shouldn't take several seconds to load
dr|z3d not bad, thanks, tisratil7, you good?
tisratil7 how do I tag someone in this chat?
mesh but at least it does load
tisratil7 oh I'm good just realized I haven't been on here for a min
dr|z3d it has to process all the peer RIs, mesh, probably why.
mesh dr|z3d: I mean in my case that's 400 objects... in memory objects?
mesh dr|z3d: otherwise performance is good. what I found was a significant increase in performance after about 12 hours
mesh I guess it takes a while for profiling to do its thing and find all the fast peers
dr|z3d are you accessing the console remotely over ssh, or locally?
mesh dr|z3d: everything's local
dr|z3d and when you say slow, the page is slow to render, or the page is slow to open?
mesh I click on 'Profiles' in the sidebar and Firefox shows the loading indicator and a good 30+ seconds later the page renders
dr|z3d and if you browse to another page and then return, same, or fast on 2nd attempt?
mesh then once Profiles loads I click on "Flood fill" and it loads instantly. But if I go back and click on "High Capacity" there's another long pause
mesh If I click on "Graphs" it loads fine. (And I have a lot of graphs as I learn about the router.) But if I click on Profiles again I get another long pause
mesh the problem is specifically localized to the "All" and the "High Capacity" tabs
dr|z3d slow pc?
dr|z3d limited ram causing java to swap?
dr|z3d you didn't answer my question.
dr|z3d > slow pc?
dr|z3d > limited ram causing java to swap?
mesh laptop is pretty damn fast. I give i2p+ a gig of ram but it rarely uses more than 400mb
mesh dr|z3d: I think the page is slow to render... there is a significant delay where the screen is just blank
mesh whoa
mesh dr|z3d: so nobody else but me experiences this?
dr|z3d no one else has brought the issue to my attention, no. anyways, let's see if we can figure something out.
mesh nothing in the logs.
mesh dr|z3d: how much ram do you think i2p should have?
mesh router.peerTestConcurrency={n} <-- this is the number of threads in a thread pool?
dr|z3d I don't think it's allocating one thread per test, not directly anyways, though that may be a side effect of running concurrent jobs.
mesh dr|z3d: I always wonder: is the JobQueue running off a threadpool? I assume there's some concurrency involved and multiple jobs running at the same time
mesh (and I wonder if i2p might benefit from the use of virtual threads that are in later jdk installs as preview and going live in 21)
dr|z3d not if we want to keep compatibility with java 8 and later.
dr|z3d router.maxJobRunners ..
dr|z3d I've increased the refresh interval on profiles and prevented it from refreshing on page load, see if that helps. dev update uploaded.
mesh dr|z3d: yeah it does look like each JobQueueRunner is its own thread. Not sure the relationship between router.maxJobRunners and peer.peerTestConcurrency
dr|z3d no direct relationship except that peer testing is handled by the job queue.
mesh hmm
mesh Peer Test Average: Successful/Total ... what's Total here?
dr|z3d avg of all tests, not just successful.
mesh ah ok
mesh dr|z3d: it's still slow
mesh it feels like some sort of concurrency issue
mesh it's almost like the i2p router is waiting for something, perhaps for a lock, before it can render the page
mesh the problem occurs only with the "All" and "High Capacity" tabs
dr|z3d I blame Windows in that case.
mesh Banned tab is fast. Floodfill is fast. High Capacity is slow.
dr|z3d can't reproduce here, all tabs are fast.
dr|z3d be sure to ctrl+shift+r on that page, just in case.
mesh dr|z3d: Windows? heh. I wonder if the issue is related to searching netdb. Does the High Capacity tab actually hit disk?
dr|z3d shouldn't be touching the disk, profiles and RIs should be in ram.
mesh man it actually renders slow in chrome
mesh I scroll up and down and it takes time for the rows to be filled in
dr|z3d that said, if a profile doesn't exist for a peer, it may attempt to write one to disk.
dr|z3d forget chrome.
dr|z3d chrome does poorly.
dr|z3d the table rows are being rendered "lazily" is why you're seeing them render on scroll.
mesh yeah ok. I'll keep digging at it. I notice Firefox does show a tab at the bottom "Transferring data from 127.0.0.1..."
mesh it could be a lot of data is being transferred. Will take a look at the firefox dev tools
dr|z3d those pages are notoriously heavy, but you should be at least seeing them open fairly swiftly.
dr|z3d if you want to dig deeper, ProfileOrganizer.java and ProfileOrganizerRenderer.java, and for the display, profiles.jsp
mesh dr|z3d: I'll take a look.
mesh dr|z3d: What does Congestion: 57ms mean?
dr|z3d expand that section and you'll see what it relates to. this is all basic stuff.
dr|z3d assuming you're looking at a collapsed sidebar section.
dr|z3d otherwise, no crystal ball here, can't guess at the context.
mesh oh it's Job Lag. Just noticed the tool tip.
mesh There's a number in the sidebar now besides 'Congestion'
dr|z3d if you uncollapse the sidebar section you'll see what it mirrors.
dr|z3d but if you're into the tooltips, hovering over the badge tells you what it relates to specifically.
mesh it does make you wonder if shoving everything onto a single job queue is optimal
mesh in theory profiling could be done on a separate thread pool. it doesn't really need to manipulate browser state until the very end after the peerTesting is finished and stats have been collected
mesh I suspect the spikes I see in job lag are due to profiling
mesh but and it's the "Test Peers" job that consume much of the time
dr|z3d total time taken relates to the number of peers tested, and given that's a job that keeps running, no surprise.
dr|z3d each test takes at most the timeout value per test, so most of the time spent is waiting for a response.
mesh dragonheart: more memory and more job runners doesn't help alas
dr|z3d only so many jobs your processor can handle.
mesh I mean on a modern amd cpu with 6 cores and 12 hyperthreads running with 10 threads instead of 5 threads is hardly going to overload the box
mesh the i2p process (which shows up as open jdk in task manager but you can tell by its network usage) only uses about ~5% of cpu
dr|z3d indeed not, though with 12 threads, you should be getting more job runners by default.
mesh btw I love how i2p usage has exploded in Iran
mesh (though I wonder if this should be advertised)
mesh everytime I look at Netdb I now see Iran way up there
dr|z3d for all the non-hidden routers in Iran, there are probably a ton more hidden.
mesh I think there was just another attack
dr|z3d looks like it.
mesh dr|z3d: why do you say that? all my iranian friends have no idea what i2p is. And I don't think the country ranked high before. It seems very recently iranians discovered i2p
dr|z3d because Iranian routers are placed in hidden mode by default.
dr|z3d also VPNs in Iran are being routinely blocked, so it stands to reason that those using VPNs will seek out other bypass methods.
mesh yeah true. though we probably have no way of knowing. It would be great to hire an translator and actually put together a guide to i2p in iranian
dr|z3d the console is available in farsi, so they're not totally at sea.
mesh I find the biggest blocker in asia is language. these days many people have decent computers and fast internet conns but they just don't speak english
dr|z3d check the console in arabic. not so bad, given the compexities of rendering right to left and all that entails.
mesh so we get these waves of tunnel spam and high bandwidth
mesh about once a day
mesh and then that's it. are these hostile routers being blocked? are they acquiring new ips for each attack?
dr|z3d request too many tunnels, on i2p+, thanks and goodbye.
dr|z3d there's generous enough latitude. we say "you've had enough" and you go elsewhere, no problem. you keep requesting, *boom*
RN *BOOM*
mildseven i'm having trouble starting my web server and i'm not sure if i'm doing anything wrong maybe
mildseven "• Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit. If the problem persists, verify that you have cookies enabled in your browser."
mildseven nevermind.. i just had to enter a hostname (.i2p) and it started correctly :)