Real Insight on Performance

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Real Insight on Performance

Rahul-30
Hi all,

I am looking to install Unix (and/or like) system for server to run
some highly computational and multi-threaded applications. My
background being pretty much all Windows, I am a novice to this field.
I have grasped some basics by reading some material on web and how-to
books but event after extensive digging around on web for real
performance numbers on various operating systems, I still haven't
found anything useful. Most of the data I found were basically
comparisons of operating systems running MySQL or PostgreSQL to see
how many connections or simple look up queries they each can server
per second sort of things. But nothing that would point to underlying
operations like threading, cache-ing, time slicing, I/O, etc.

Now, I must admit most of the material showed Linux having upper hand.
But I am not convinced FreeBSD would be behind in almost all
performance benchmarks from always hearing the legendary performance
and stability characteristics of FreeBSD.

Can you please shed some light on what I really should be looking for
in FreeBSD to optimize it to it's best performance? Am I expecting
something that is just purely not BSD's priority or philosophy, per
se? Is there some material I can look over? (note: I've gone through
the 7.0 Preview and Tuning documentation on FreeBSD's site already.)



Thanks.
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Real Insight on Performance

Julian Elischer
Rahul wrote:

> Hi all,
>
> I am looking to install Unix (and/or like) system for server to run
> some highly computational and multi-threaded applications. My
> background being pretty much all Windows, I am a novice to this field.
> I have grasped some basics by reading some material on web and how-to
> books but event after extensive digging around on web for real
> performance numbers on various operating systems, I still haven't
> found anything useful. Most of the data I found were basically
> comparisons of operating systems running MySQL or PostgreSQL to see
> how many connections or simple look up queries they each can server
> per second sort of things. But nothing that would point to underlying
> operations like threading, cache-ing, time slicing, I/O, etc.
>
> Now, I must admit most of the material showed Linux having upper hand.
> But I am not convinced FreeBSD would be behind in almost all
> performance benchmarks from always hearing the legendary performance
> and stability characteristics of FreeBSD.

most Linux documents will show Linux having hte upper hand of course..
For computational stuff in my experience (Image analysis software
using Feedback networks with a mix of floating and fixed point work)
there was not much to choose between the various OS's because the
limiting factor tends to simply be the hardware calculating throughput.
If you have networking or IO as part of the equation then
of course it's different.

One deal that we can offer you that Linux won't is that if you are
prepared to work with us, we can help you find any bottlenecks
that are hitting you..
(the advantage of working with a smaller group :-)


>
> Can you please shed some light on what I really should be looking for
> in FreeBSD to optimize it to it's best performance? Am I expecting
> something that is just purely not BSD's priority or philosophy, per
> se? Is there some material I can look over? (note: I've gone through
> the 7.0 Preview and Tuning documentation on FreeBSD's site already.)

you need to tell us more about your workload.

>
>
>
> Thanks.
> _______________________________________________
> [hidden email] mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> To unsubscribe, send any mail to "[hidden email]"

_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Real Insight on Performance

Rahul-30
Thanks for the prompt response. Believe me I am fan of FreeBSD
already. Your group size and discipline is what has attracted me to
FreeBSD and the great respect for such work preceding it! It's just
that when it comes to work/business I have to be objective. Hence, the
extensive research I am doing to find the right OS for "my purpose". I
know hardware has a lot to do with floating point calculations,
integer math, pointers, and data caching.

I don't have any utility at the moment I can run to simply measure
performance. And I don't think there will be only one utility running
on there all the time.

For example: I would like to run a high performance web server that
can handle up to 200 connections per second and serve them with great
speed. That's where the concern for multi-threaded support. Depending
on the request, I may have to load (and possibly unload) dynamic
modules to perform calculations, and if need be, fetch data from
either DB or flat file. It could involve connecting to a process on
another box to get request specific command strings. This process
could run for almost 20 hours straight and OS still has to be able to
keep in shape.

Shewww... so there is multiple parts to this. I don't want to throw
hardware as the solution for anything if it could be resolved by
choosing the OS and tuning it. Because hardware only solves problem
temporarily, it does not give you a true measure of your capability
and thus renders any prediction of linear scaling impossible. So on
and so forth.


Thanks again.

On Tue, Jul 15, 2008 at 5:02 PM, Julian Elischer <[hidden email]> wrote:

> Rahul wrote:
>>
>> Hi all,
>>
>> I am looking to install Unix (and/or like) system for server to run
>> some highly computational and multi-threaded applications. My
>> background being pretty much all Windows, I am a novice to this field.
>> I have grasped some basics by reading some material on web and how-to
>> books but event after extensive digging around on web for real
>> performance numbers on various operating systems, I still haven't
>> found anything useful. Most of the data I found were basically
>> comparisons of operating systems running MySQL or PostgreSQL to see
>> how many connections or simple look up queries they each can server
>> per second sort of things. But nothing that would point to underlying
>> operations like threading, cache-ing, time slicing, I/O, etc.
>>
>> Now, I must admit most of the material showed Linux having upper hand.
>> But I am not convinced FreeBSD would be behind in almost all
>> performance benchmarks from always hearing the legendary performance
>> and stability characteristics of FreeBSD.
>
> most Linux documents will show Linux having hte upper hand of course..
> For computational stuff in my experience (Image analysis software
> using Feedback networks with a mix of floating and fixed point work)
> there was not much to choose between the various OS's because the
> limiting factor tends to simply be the hardware calculating throughput.
> If you have networking or IO as part of the equation then
> of course it's different.
>
> One deal that we can offer you that Linux won't is that if you are prepared
> to work with us, we can help you find any bottlenecks
> that are hitting you..
> (the advantage of working with a smaller group :-)
>
>
>>
>> Can you please shed some light on what I really should be looking for
>> in FreeBSD to optimize it to it's best performance? Am I expecting
>> something that is just purely not BSD's priority or philosophy, per
>> se? Is there some material I can look over? (note: I've gone through
>> the 7.0 Preview and Tuning documentation on FreeBSD's site already.)
>
> you need to tell us more about your workload.
>
>>
>>
>>
>> Thanks.
>> _______________________________________________
>> [hidden email] mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
>> To unsubscribe, send any mail to
>> "[hidden email]"
>
>
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Real Insight on Performance

Alexander Leidinger
Quoting Rahul <[hidden email]> (from Tue, 15 Jul 2008 20:17:46 -0400):

> For example: I would like to run a high performance web server that
> can handle up to 200 connections per second and serve them with great
> speed. That's where the concern for multi-threaded support. Depending

Serving 200 connections per second for static data is not hard. And  
you don't need multi-threading for that. Multiple processes is  
actually better than multi-threading in this regard, as you don't have  
to do locking of filedescriptors in the the webserver over multiple  
threads. The difference between linux and FreeBSD should be not big  
for single CPU/core systems, but if you increase the number of  
CPUs/cores this may be different. See the postgresql (it uses  
processes, not threads like mysql) graphs in  
http://people.freebsd.org/~kris/scaling/7.0%20and%20beyond.pdf to get  
an idea about the scaling of more or less independent processes in  
FreeBSD.

> on the request, I may have to load (and possibly unload) dynamic
> modules to perform calculations, and if need be, fetch data from
> either DB or flat file. It could involve connecting to a process on

As soon as you have calculations and/or DB accesses involved, it  
mostly depends upon the DB optimizations ("good" tables, indexes, data  
volume, queries, good concurrency of the DB, ...) and the computation,  
not on the OS. So without any specific workload, we can not really  
give recommendations (besides giving FreeBSD a try and working with us  
if there's problem).

> another box to get request specific command strings. This process
> could run for almost 20 hours straight and OS still has to be able to
> keep in shape.

The OS doesn't care about how long a process runs. But if you talk  
about good responsiveness of the OS while a process uses a lot of  
memory and CPU, FreeBSD will handle it good (and from what I heard and  
seen better than Linux, but I don't have numbers at hand).

Bye,
Alexander.

--
  Leela: Well, someone's in a good mode.

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Real Insight on Performance

Rahul-30
Thanks Alexander,

I need multi-threaded support because I will need to share data
between threads. I am not just serving static pages, I am actually
performing data manipulation using data that comes in the request as
well as what's in memory. The memory could grow to at least 4 GB.
Actually, I would like to use at least 10GB for that process
(shouldn't be a problem with 16GB RAM on 64Bit OS with Intel Quad Core
- Q6600 or Q9450). Although, I do prefer to launch a thread and keep
it around for when there is work to do than launching a new process
for every request because launching a process is more expensive to
begin with and if it has to fetch data from parent process' memory
somehow, it only makes things worse.

I have used MySQL in the past and it has been able to handle large
volume of data without complains (I am talking about 20K rows per
second with 25 fields per row). So I was hoping to use MySQL this time
around. I guess I should have been more clear in my question, by
querying DB and reading flat files, I was meaning to ask about I/O
storage and retrieval mechanism, are there any optimizations in
FreeBSD regarding I/O?

By hinting at possible run time, I meant it would be running 20 hours
under heavy work load. So it could possibly get far more than 200
requests per second. At peak time it could get around 2500 per second.
So it would be important for OS to not crash or show flaky behavior
with memory management with so much memory to maintain throughout the
day.

Sorry if I seem to be neat-picking but I would like to pick the right
OS and stick to as the demand grows and I add more servers. I would
like them all to be running same OS as hardware is likely to change
more frequently.


Thanks.


On Wed, Jul 16, 2008 at 2:05 AM, Alexander Leidinger
<[hidden email]> wrote:

> Quoting Rahul <[hidden email]> (from Tue, 15 Jul 2008 20:17:46 -0400):
>
>> For example: I would like to run a high performance web server that
>> can handle up to 200 connections per second and serve them with great
>> speed. That's where the concern for multi-threaded support. Depending
>
> Serving 200 connections per second for static data is not hard. And you
> don't need multi-threading for that. Multiple processes is actually better
> than multi-threading in this regard, as you don't have to do locking of
> filedescriptors in the the webserver over multiple threads. The difference
> between linux and FreeBSD should be not big for single CPU/core systems, but
> if you increase the number of CPUs/cores this may be different. See the
> postgresql (it uses processes, not threads like mysql) graphs in
> http://people.freebsd.org/~kris/scaling/7.0%20and%20beyond.pdf to get an
> idea about the scaling of more or less independent processes in FreeBSD.
>
>> on the request, I may have to load (and possibly unload) dynamic
>> modules to perform calculations, and if need be, fetch data from
>> either DB or flat file. It could involve connecting to a process on
>
> As soon as you have calculations and/or DB accesses involved, it mostly
> depends upon the DB optimizations ("good" tables, indexes, data volume,
> queries, good concurrency of the DB, ...) and the computation, not on the
> OS. So without any specific workload, we can not really give recommendations
> (besides giving FreeBSD a try and working with us if there's problem).
>
>> another box to get request specific command strings. This process
>> could run for almost 20 hours straight and OS still has to be able to
>> keep in shape.
>
> The OS doesn't care about how long a process runs. But if you talk about
> good responsiveness of the OS while a process uses a lot of memory and CPU,
> FreeBSD will handle it good (and from what I heard and seen better than
> Linux, but I don't have numbers at hand).
>
> Bye,
> Alexander.
>
> --
>  Leela: Well, someone's in a good mode.
>
> http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
> http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137
>
_______________________________________________
[hidden email] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "[hidden email]"