Re: Advice on hardware upgrade

2017-11-22 Thread ajs6f
The behavior Andy describes is guided by the rule that generally, applications 
hosted in JEE containers are supposed to let the container manage threading. (I 
think that's written down somewhere in the JEE specs, but I can't remember 
where, and if it was, it is often "honored in the breach"!). Modern servlet 
containers are able to support asynchrony [1].

The reason I bring this up is to point out that 

1) You should have some level of control of that threadpool that Andy mentioned 
by configuring your container. What "configuring your container" means is of 
course going to depend on how you are deploying Fuseki.

2) You might see a difference in behavior (if the behavior you describe is 
problematic for some reason) by changing containers. Fuseki is distributed as a 
WAR (in addition to all its other modes) to afford you this choice.

ajs6f

[1] https://docs.oracle.com/javaee/7/tutorial/servlets012.htm

> On Nov 22, 2017, at 8:55 AM, Andy Seaborne <a...@apache.org> wrote:
> 
> 
> 
> On 22/11/17 13:37, Marco Neumann wrote:
>> On Wed, Nov 22, 2017 at 2:15 PM, Andy Seaborne <a...@apache.org> wrote:
>>> 
>>> 
>>> On 22/11/17 10:55, Marco Neumann wrote:
>>>> 
>>>> i have noticed that a single fuseki instance spans quite a number of
>>>> worker process (~32-35) on one of our root servers ( x86_64 GNU/Linux)
>>>> with 8 cores and 128gb ram + ssd.
>>>> 
>>>> does jena fuseki /tdb take full advantage of the extras cores on full
>>>> load with these workers?
>>> 
>>> 
>>> Fuseki runs one thread per request (nearly - sorting can us multiple
>>> threads).
>> that was my reading of what goes on in process viewer, ~30 is the
>> number of workers after a fresh start and idle (no requests) .
> 
> Jetty, as web app container, starts all threads on startup and they go into 
> somekind of pool - threads are not created per request (Fuseki does not 
> create threads.) If they are not used, they are just sitting around idle with 
> a stack area.
> 
> A request comes in and the Fuseki servlet filter sees if it is Fuseki related 
> and if so, sends it (by java menthod call) to a dispatch servlet, that pokes 
> around to see what it is and sends it on to the right servlet (again, by java 
> call, not Servlet.service)
> 
> I only know this as I had to look Monday and yesterday when investigating 
> what it would take for custom services.
> 
>   Andy
> 
>>> 
>>> It would be nice to execute with more threads but the time to do this ...
>>> 
>>> It's jetty starting the threads.
>>> 
>>> (32 seems a lot but maybe Jetty is allocating based on core+HT count)
>> indeed, but it's actually one of our "smaller" test machines and
>> performance is quite good so far.
>>>Andy
>>> 
>>> 
>>>> 
>>>> On Wed, Nov 22, 2017 at 11:22 AM, David Moss <admo...@gmail.com> wrote:
>>>>> 
>>>>> Upgrades are application specific. You need to look at the logs for your
>>>>> current system and see if processor is maxing out of memory is swapping 
>>>>> out
>>>>> to disk too much. 2GB RAM looks a bit small but that is irrelevant if your
>>>>> processor is at 100% all the time. You might also consider your disk 
>>>>> access
>>>>> time. Faster disks might be a better buy if your processor and RAM look 
>>>>> OK.
>>>>> 
>>>>> David Moss
>>>>> 
>>>>> From: John Sanders <johnn...@outlook.com>
>>>>> Sent: Wednesday, November 22, 2017 10:40:38 AM
>>>>> To: users@jena.apache.org
>>>>> Subject: Advice on hardware upgrade
>>>>> 
>>>>> Hi, I'm running a Fuseki server on a rather small server. I'm willing to
>>>>> upgrade it a little bit (since it's handling a lot of requests) so I  was
>>>>> wondering which single component I could upgrade to get the best  possible
>>>>> return. This I suppose boils down to either more RAM or a  better CPU.
>>>>> Currently the server is an old Pentium4 3GHz with 2gb of  RAM, so if I 
>>>>> have
>>>>> some money to spend on it, would I be better buying  more RAM or a better
>>>>> CPU? In the second case (a better CPU), would  Fuseki benefit more from a
>>>>> faster one (higher frequency) or one with  more cores/threads (I assume
>>>>> Fuseki is a multi-threaded application)?  Thank you all.
>>>> 
>>>> 
>>>> 
>>>> 
>>> 



Re: Advice on hardware upgrade

2017-11-22 Thread Andy Seaborne



On 22/11/17 13:37, Marco Neumann wrote:

On Wed, Nov 22, 2017 at 2:15 PM, Andy Seaborne <a...@apache.org> wrote:



On 22/11/17 10:55, Marco Neumann wrote:


i have noticed that a single fuseki instance spans quite a number of
worker process (~32-35) on one of our root servers ( x86_64 GNU/Linux)
with 8 cores and 128gb ram + ssd.

does jena fuseki /tdb take full advantage of the extras cores on full
load with these workers?



Fuseki runs one thread per request (nearly - sorting can us multiple
threads).


that was my reading of what goes on in process viewer, ~30 is the
number of workers after a fresh start and idle (no requests) .


Jetty, as web app container, starts all threads on startup and they go 
into somekind of pool - threads are not created per request (Fuseki does 
not create threads.) If they are not used, they are just sitting around 
idle with a stack area.


A request comes in and the Fuseki servlet filter sees if it is Fuseki 
related and if so, sends it (by java menthod call) to a dispatch 
servlet, that pokes around to see what it is and sends it on to the 
right servlet (again, by java call, not Servlet.service)


I only know this as I had to look Monday and yesterday when 
investigating what it would take for custom services.


Andy





It would be nice to execute with more threads but the time to do this ...

It's jetty starting the threads.

(32 seems a lot but maybe Jetty is allocating based on core+HT count)


indeed, but it's actually one of our "smaller" test machines and
performance is quite good so far.


 Andy




On Wed, Nov 22, 2017 at 11:22 AM, David Moss <admo...@gmail.com> wrote:


Upgrades are application specific. You need to look at the logs for your
current system and see if processor is maxing out of memory is swapping out
to disk too much. 2GB RAM looks a bit small but that is irrelevant if your
processor is at 100% all the time. You might also consider your disk access
time. Faster disks might be a better buy if your processor and RAM look OK.

David Moss

From: John Sanders <johnn...@outlook.com>
Sent: Wednesday, November 22, 2017 10:40:38 AM
To: users@jena.apache.org
Subject: Advice on hardware upgrade

Hi, I'm running a Fuseki server on a rather small server. I'm willing to
upgrade it a little bit (since it's handling a lot of requests) so I  was
wondering which single component I could upgrade to get the best  possible
return. This I suppose boils down to either more RAM or a  better CPU.
Currently the server is an old Pentium4 3GHz with 2gb of  RAM, so if I have
some money to spend on it, would I be better buying  more RAM or a better
CPU? In the second case (a better CPU), would  Fuseki benefit more from a
faster one (higher frequency) or one with  more cores/threads (I assume
Fuseki is a multi-threaded application)?  Thank you all.













Re: Advice on hardware upgrade

2017-11-22 Thread Andy Seaborne



On 22/11/17 12:35, Laura Morales wrote:

Fuseki uses TDB which relies on memory mapped files


Do you know if the same "memory mapped files" applies to other backends too, 
for example HDT?


You'll have to check each of the backends - it's an implementation issue.

Andy


Re: Advice on hardware upgrade

2017-11-22 Thread Andy Seaborne



On 22/11/17 00:40, John Sanders wrote:

Hi, I'm running a Fuseki server on a rather small server. I'm willing to  
upgrade it a little bit (since it's handling a lot of requests) so I  was 
wondering which single component I could upgrade to get the best  possible 
return. This I suppose boils down to either more RAM or a  better CPU. 
Currently the server is an old Pentium4 3GHz with 2gb of  RAM, so if I have 
some money to spend on it, would I be better buying  more RAM or a better CPU? 
In the second case (a better CPU), would  Fuseki benefit more from a faster one 
(higher frequency) or one with  more cores/threads (I assume Fuseki is a 
multi-threaded application)?  Thank you all.



Hi John,

Are you running a 32 bit java?
And some of the replies assume you are using TDB, and not, for example, 
keeping data in files read in at startup.


If TDB:
Some more RAM and a 64 bit java will help a lot.

This is true even if the database is smaller than (guess) a 1Gb.
TDB/32-bit mode has to do it's own file caching and it's not really very 
fast.


If files:
Then it's all in RAM currently.
A faster CPU.
And a new CPU will probably have faster RAM.

Again, getting to 64 bit java may help as well.

Threads & core:
Fuseki runs each HTTP request on one thread.

If the server is having to serve multiple requests at the same time, 
then more (real) threads upto the number of really concurrent requests 
should help.


Andy






Re: Advice on hardware upgrade

2017-11-22 Thread Laura Morales
> Fuseki uses TDB which relies on memory mapped files

Do you know if the same "memory mapped files" applies to other backends too, 
for example HDT?


Re: Advice on hardware upgrade

2017-11-22 Thread Marco Neumann
i have noticed that a single fuseki instance spans quite a number of
worker process (~32-35) on one of our root servers ( x86_64 GNU/Linux)
with 8 cores and 128gb ram + ssd.

does jena fuseki /tdb take full advantage of the extras cores on full
load with these workers?

On Wed, Nov 22, 2017 at 11:22 AM, David Moss <admo...@gmail.com> wrote:
> Upgrades are application specific. You need to look at the logs for your 
> current system and see if processor is maxing out of memory is swapping out 
> to disk too much. 2GB RAM looks a bit small but that is irrelevant if your 
> processor is at 100% all the time. You might also consider your disk access 
> time. Faster disks might be a better buy if your processor and RAM look OK.
>
> David Moss
> 
> From: John Sanders <johnn...@outlook.com>
> Sent: Wednesday, November 22, 2017 10:40:38 AM
> To: users@jena.apache.org
> Subject: Advice on hardware upgrade
>
> Hi, I'm running a Fuseki server on a rather small server. I'm willing to  
> upgrade it a little bit (since it's handling a lot of requests) so I  was 
> wondering which single component I could upgrade to get the best  possible 
> return. This I suppose boils down to either more RAM or a  better CPU. 
> Currently the server is an old Pentium4 3GHz with 2gb of  RAM, so if I have 
> some money to spend on it, would I be better buying  more RAM or a better 
> CPU? In the second case (a better CPU), would  Fuseki benefit more from a 
> faster one (higher frequency) or one with  more cores/threads (I assume 
> Fuseki is a multi-threaded application)?  Thank you all.



-- 


---
Marco Neumann
KONA


Re: Advice on hardware upgrade

2017-11-22 Thread David Moss
Upgrades are application specific. You need to look at the logs for your 
current system and see if processor is maxing out of memory is swapping out to 
disk too much. 2GB RAM looks a bit small but that is irrelevant if your 
processor is at 100% all the time. You might also consider your disk access 
time. Faster disks might be a better buy if your processor and RAM look OK.

David Moss

From: John Sanders <johnn...@outlook.com>
Sent: Wednesday, November 22, 2017 10:40:38 AM
To: users@jena.apache.org
Subject: Advice on hardware upgrade

Hi, I'm running a Fuseki server on a rather small server. I'm willing to  
upgrade it a little bit (since it's handling a lot of requests) so I  was 
wondering which single component I could upgrade to get the best  possible 
return. This I suppose boils down to either more RAM or a  better CPU. 
Currently the server is an old Pentium4 3GHz with 2gb of  RAM, so if I have 
some money to spend on it, would I be better buying  more RAM or a better CPU? 
In the second case (a better CPU), would  Fuseki benefit more from a faster one 
(higher frequency) or one with  more cores/threads (I assume Fuseki is a 
multi-threaded application)?  Thank you all.


Re: Advice on hardware upgrade

2017-11-22 Thread Rob Vesse
Upgrading the RAM would have more benefit.  Fuseki uses TDB which relies on 
memory mapped files so if you can provide more RAM more of  your data can be 
kept in memory by the OS. Bear in mind that this memory is off-heap so if you 
do upgrade your RAM there should be no need to set the heap size larger since 
the additional RAM Will be utilised by the OS to cache more of your data in 
memory.

 Another hardware upgrade that you did not mention would be to your storage. If 
you frequently load new data from disk then providing high-performance storage 
i.e. SSD/flash device Will give you significant performance gains for those 
operations.

 However, as a general performance upgrade I would strongly recommend more RAM

Rob

On 22/11/2017, 00:40, "John Sanders"  wrote:

Hi, I'm running a Fuseki server on a rather small server. I'm willing to  
upgrade it a little bit (since it's handling a lot of requests) so I  was 
wondering which single component I could upgrade to get the best  possible 
return. This I suppose boils down to either more RAM or a  better CPU. 
Currently the server is an old Pentium4 3GHz with 2gb of  RAM, so if I have 
some money to spend on it, would I be better buying  more RAM or a better CPU? 
In the second case (a better CPU), would  Fuseki benefit more from a faster one 
(higher frequency) or one with  more cores/threads (I assume Fuseki is a 
multi-threaded application)?  Thank you all.







Advice on hardware upgrade

2017-11-21 Thread John Sanders
Hi, I'm running a Fuseki server on a rather small server. I'm willing to  
upgrade it a little bit (since it's handling a lot of requests) so I  was 
wondering which single component I could upgrade to get the best  possible 
return. This I suppose boils down to either more RAM or a  better CPU. 
Currently the server is an old Pentium4 3GHz with 2gb of  RAM, so if I have 
some money to spend on it, would I be better buying  more RAM or a better CPU? 
In the second case (a better CPU), would  Fuseki benefit more from a faster one 
(higher frequency) or one with  more cores/threads (I assume Fuseki is a 
multi-threaded application)?  Thank you all.


Advice on hardware upgrade

2017-11-21 Thread 94al51+ch8i714ks7p90
Hi, I'm running a Fuseki server on a rather small server. I'm willing to 
upgrade it a little bit (since it's handling a lot of requests) so I was 
wondering which single component I could upgrade to get the best possible 
return. This I suppose boils down to either more RAM or a better CPU. Currently 
the server is an old Pentium4 3GHz with 2gb of RAM, so if I have some money to 
spend on it, would I be better buying more RAM or a better CPU? In the second 
case (a better CPU), would Fuseki benefit more from a faster one (higher 
frequency) or one with more cores/threads (I assume Fuseki is a multi-threaded 
application)? Thank you all.






Sent using Guerrillamail.com
Block or report abuse: 
https://www.guerrillamail.com//abuse/?a=VFJxFx4gSbEbiUC14H8cehGJQtiX