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 :)