|
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]" |
|
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]" |
|
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]" |
|
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]" |
|
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]" |
| Powered by Nabble | Edit this page |
