Impressive bit of research R.Gunther :)<div><br></div><div>Cheers</div><div><br><br><div class="gmail_quote">On Sat, Sep 29, 2012 at 6:36 PM, R.Gunther <span dir="ltr"><<a href="mailto:rigun@rigutech.nl" target="_blank">rigun@rigutech.nl</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>=====================================<br>
I switched back to linux with my osgrid region.<br>
I have some strange sideeffect on my train megasim, as soo the
train is rideing and am on the sim it seems to crash pretty fast <br>
with a nice stacktrace and above that some slow requests on
serveral parts.<br>
<br>
22:16:02 - [BASE HTTP SERVER]: Slow handling of 498 POST /CAPS/
...... took 5708ms<br>
22:16:05 - [BASE HTTP SERVER]: Slow handling of 505 POST /CAPS/
...... took 4644ms<br>
22:17:35 - [FORMS]: Slow request 45 POST ........ took 100125ms,<br>
23:19:17 - [FORMS]: Slow request 138 POST....... took 100024ms,<br>
23:19:58 - [USER AGENT CONNECTOR]: Unable to contact remote server
...... for GetServerURLs<br>
Region (root) # Stacktrace:<br>
<br>
Native stacktrace:<br>
<br>
mono() [0x498a19]<br>
mono() [0x4e999f]<br>
mono() [0x41f617]<br>
/lib64/libpthread.so.0(+0xf140) [0x7effa5a6c140]<br>
mono() [0x5e04d9]<br>
mono() [0x5dd4a0]<br>
mono() [0x5e0cfc]<br>
mono() [0x5e15d2]<br>
mono() [0x5e1c07]<br>
mono() [0x5e263d]<br>
mono() [0x5dc292]<br>
mono() [0x5dc575]<br>
mono() [0x5dc7ee]<br>
mono(mono_array_new_specific+0xe2) [0x590602]<br>
[0x4186fd7d]<br>
<br>
Debug info from gdb:<br>
<br>
So have done a bit searching, thereare maby a few hints.<big><br>
<small>I try to explain it best i can, hope 1 of them is
direction to the solution.<br>
Its maby more a collection of ideas , more the needle in the
hay.<br>
Not C# expert, but what i see the request code is pretty
basic.<br>
The one opensim uses looks a bit like whats used on <br>
</small></big><big><small><big><small>**********</small></big><br>
</small></big><br>
<big><small><big><small><a href="http://www.codeproject.com/Articles/13486/A-Simple-Crawler-Using-C-Sockets#WebRequest" target="_blank">http://www.codeproject.com/Articles/13486/A-Simple-Crawler-Using-C-Sockets#WebRequest</a></small></big><br>
and look at the section, "2. <b>WebRequest and WebResponse
problems:" </b>am quoting a piece of text from that
website<br>
<br>
""This code works well but it has a very serious problem as
the <code>WebRequest</code> class function <code>GetResponse</code>
locks the access to all other processes, the <code>WebRequest</code>
tells the retrieved response as closed, as in the last line in
the previous code. So I noticed that always only one thread is
downloading while others are waiting to <code>GetResponse</code>.
To solve this serious problem, I implemented my two classes, <b><code>MyWebRequest</code></b>
and <b><code>MyWebResponse</code></b>.""<br>
</small><small><br>
**********<br>
HttpWebRequest.GetResponse Method</small></big> seems to
block.<br>
<br>
the Microsoft page say the following:
<a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.getresponse%28v=vs.71%29.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.getresponse%28v=vs.71%29.aspx</a><br>
""This method blocks waiting for content to post; if there is no
time-out set and you do not provide content, your application will
block indefinitely.""<br>
<br>
<big><small><big><small>**********</small></big></small></big><br>
<br>
Maby the ServicePointManager.Expect100Continue Property is
intressting to use ?
<a href="http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.expect100continue%28v=vs.71%29.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.expect100continue%28v=vs.71%29.aspx</a><br>
<br>
<big><small>**********</small></big><br>
last thing that i want to point to is this site
<a href="http://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow" target="_blank">http://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow</a><br>
The talk about that the http proxy is enabled default, and that
disable it can speed up the process.<br>
Most of the above things come from this page.<br>
<br>
=====================================<div><div class="h5"><br>
<br>
On 2012-09-22 02:22, Justin Clark-Casey wrote:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">There
are no timeouts on these particular requests, which probably isn't
a good thing - OpenSimulator is inconsistent when it comes to
timeouts. However, I suspect that's oging to be peripheral to the
issue here.
<br>
<br>
On 20/09/12 11:44, M.E. Verhagen wrote:
<br>
<blockquote type="cite">I wonder if there is a timeout on the
fetch request ?
<br>
Or are they stacking up and just waiting till they are in the
front of the line to be processed ?
<br>
<br>
2012/9/20 Justin Clark-Casey <<a href="mailto:jjustincc@googlemail.com" target="_blank">jjustincc@googlemail.com</a>
<a href="mailto:jjustincc@googlemail.com" target="_blank"><mailto:jjustincc@googlemail.com></a>>
<br>
<br>
Fetch times of 1068560ms (which is more than 15 minutes!)
are pathological - something is wrong.
<br>
<br>
In the first case I would suspect an issue with the
connection to the OSGrid inventory service. Either it is being
<br>
overloaded (OSGrid actually runs multiple copies of the
ROBUST inventory service and load-balances between them
<br>
using Nginx, but perhaps the limits are being hit), things
are being massive lagged because of lots of requests
<br>
hitting the .net default connection limit, as Melanie
discussed, or you have a network issue.
<br>
<br>
However, I'm a little surprised that the OSGrid Inventory
Service request within FetchInventoryDescendents2 isn't
<br>
making it's own complaint about a long request. The log
message you're seeing does cover the whole of the CAPs call
<br>
so I suppose there is some chance there's some other cause,
though it is a pretty simple capability.
<br>
<br>
If you want to see if viewers are doing a lot of inventory
fetches, then you can try the command "debug http 3" on
<br>
the simulator console. This will show every incoming http
request from viewers (and other simulators) and the HTTP
<br>
URI they are hitting. Very recent code also has levels 4
and 5 which will log a snippet of the incoming request and
<br>
the entire request, though you probably don't want to use
them for any length of time.
<br>
<br>
<br>
On 14/09/12 11:33, Ai Austin wrote:
<br>
<br>
<br>
From: Melanie <<a href="mailto:melanie@t-data.com" target="_blank">melanie@t-data.com</a>
<a href="mailto:melanie@t-data.com" target="_blank"><mailto:melanie@t-data.com></a>>
<br>
<br>
You're using a viewer that fetches the user
inventory in the
<br>
background on login. ...
<br>
You will need to disable inventory fetch on startup
and/or
<br>
viewerside AO.
<br>
<br>
<br>
Thanks for the explanation Melanie... that sounds like
it is the type of problem I am seeing on our add on OSGrid
<br>
regions... but not on our own Openvue grid whcih
essentially runs on identical hardware and with identical
<br>
network setups.
<br>
<br>
I am observing the problem with both LL 3.3.4 and
Firestorm/Pheonix 4.2.2...
<br>
<br>
I don't have the viewer provided sAO turned on in
Firestorm, but I just looked at all the settings I can find in
LL
<br>
3.3.4 and Firestorm 4.2.2 and cannot see one that refers
to http fetching via http. Although I am sure I have
<br>
seen this
<br>
in the past on earlier viewers. Which Preferences tab
is it on?
<br>
<br>
From: James Stallings II
<<a href="mailto:james.stallings@gmail.com" target="_blank">james.stallings@gmail.com</a>
<a href="mailto:james.stallings@gmail.com" target="_blank"><mailto:james.stallings@gmail.com></a>>
<br>
<br>
I would recommend (assuming firestorm here) setting
both inventory fetch
<br>
and texture fetch to http in the settings, and
making the following changes
<br>
to opensim.ini:
<br>
[ClientStack.LindenCaps]
<br>
...
<br>
Cap_GetTexture = "localhost"
<br>
Cap_GetMesh = "localhost"
<br>
; This is disabled by default. Change if you
see fit. Note that
<br>
; serving this cap from the simulators may lead
to poor performace.
<br>
Cap_FetchInventoryDescendents2 = "localhost"
<br>
Cap_FetchInventory2 = "localhost"
<br>
<br>
<br>
Yep, that what I am set to already James.. I just
checked. Thanks.
<br>
_________________________________________________
<br>
Opensim-users mailing list
<br>
<a href="mailto:Opensim-users@lists.berlios.de" target="_blank">Opensim-users@lists.berlios.de</a>
<a href="mailto:Opensim-users@lists.berlios.de" target="_blank"><mailto:Opensim-users@lists.berlios.de></a>
<br>
<a href="https://lists.berlios.de/__mailman/listinfo/opensim-users" target="_blank">https://lists.berlios.de/__mailman/listinfo/opensim-users</a>
<a href="https://lists.berlios.de/mailman/listinfo/opensim-users" target="_blank"><https://lists.berlios.de/mailman/listinfo/opensim-users></a>
<br>
<br>
<br>
<br>
--
<br>
Justin Clark-Casey (justincc)
<br>
OSVW Consulting
<br>
<a href="http://justincc.org" target="_blank">http://justincc.org</a>
<br>
<a href="http://twitter.com/justincc" target="_blank">http://twitter.com/justincc</a>
<br>
<br>
_________________________________________________
<br>
Opensim-users mailing list
<br>
<a href="mailto:Opensim-users@lists.berlios.de" target="_blank">Opensim-users@lists.berlios.de</a>
<a href="mailto:Opensim-users@lists.berlios.de" target="_blank"><mailto:Opensim-users@lists.berlios.de></a>
<br>
<a href="https://lists.berlios.de/__mailman/listinfo/opensim-users" target="_blank">https://lists.berlios.de/__mailman/listinfo/opensim-users</a>
<a href="https://lists.berlios.de/mailman/listinfo/opensim-users" target="_blank"><https://lists.berlios.de/mailman/listinfo/opensim-users></a>
<br>
<br>
<br>
<br>
<br>
--
<br>
Groningen en Hannover Opensims:
<a>secondlife://meverhagen.nl:8002:Hannover</a> ZW/
<br>
<br>
<br>
_______________________________________________
<br>
Opensim-users mailing list
<br>
<a href="mailto:Opensim-users@lists.berlios.de" target="_blank">Opensim-users@lists.berlios.de</a>
<br>
<a href="https://lists.berlios.de/mailman/listinfo/opensim-users" target="_blank">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
<br>
<br>
</blockquote>
<br>
<br>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<br>
Opensim-users mailing list<br>
<a href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a><br>
<a href="https://lists.berlios.de/mailman/listinfo/opensim-users" target="_blank">https://lists.berlios.de/mailman/listinfo/opensim-users</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>===================================<br>
<a href="http://simhost.com" target="_blank">http://simhost.com</a><br><a href="http://twitter.com/jstallings2" target="_blank">http://twitter.com/jstallings2</a><br><a href="http://www.linkedin.com/pub/5/770/a49" target="_blank">http://www.linkedin.com/pub/5/770/a49</a><br>
</div>