Обсуждение: 2CPU 4GBRAM
How can be efectivly configured the PostgreSQL to run in a machine with 2 CPUs Xeon 2.4 GHz and 4GB of RAM? The PostgreSQL work with the 2 processors?
I had run tests and the tiems is always the same that in a computer with 1 CPU pentium 4 2.4GHz and 2GB RAM.
I intend to use the postgreSQL in several projects that requiere to attend about 1000 - 2500 users in a chain of retail stores. Is is that possible? Or is beyond that the postgresql possibilities?
Any help is welcomed.
thanks.
Jose Mendoza
Jose Mendoza wrote: > How can be efectivly configured the PostgreSQL to run in a machine > with 2 CPUs Xeon 2.4 GHz and 4GB of RAM? The PostgreSQL work with the > 2 processors? I had run tests and the tiems is always the same that > in a computer with 1 CPU pentium 4 2.4GHz and 2GB RAM. PostgreSQL relies on your operating system for multiprocessor support. If you run more than one database session then your operating system should/could distribute the resulting processes across the available CPUs. If you only run single-user tests, then you won't see any difference, though. > I intend to use the postgreSQL in several projects that requiere to > attend about 1000 - 2500 users in a chain of retail stores. Is is > that possible? Or is beyond that the postgresql possibilities? That is certainly easily possible.
Jose Mendoza wrote: > How can be efectivly configured the PostgreSQL to run in a machine with > 2 CPUs Xeon 2.4 GHz and 4GB of RAM? The PostgreSQL work with the 2 > processors? > I had run tests and the tiems is always the same that in a computer with > 1 CPU pentium 4 2.4GHz and 2GB RAM. The way it works with Postgres is that discrete transactions/queries only run on a single processor. So if you only have 1 user running 1 session, Postgres will never use more than 1 CPU. With multiple users and/or multiple sessions, work is spread over the multiple CPUs. > I intend to use the postgreSQL in several projects that requiere to > attend about 1000 - 2500 users in a chain of retail stores. Is is that > possible? Or is beyond that the postgresql possibilities? I'm sure Postgres could handle it. Whether the hardware you currently have spec'd out could handle it or your application framework could handle it is a totally different story. We could give you our best guess based on more detailed info -- like how big is the total & working dataset, what are the usage patterns, what kind of queries/transactions are most common, etc. -- but you will definitely have to do your own profiling to get accurate numbers.
peter_e@gmx.net (Peter Eisentraut) writes: > Jose Mendoza wrote: >> I intend to use the postgreSQL in several projects that requiere to >> attend about 1000 - 2500 users in a chain of retail stores. Is is >> that possible? Or is beyond that the postgresql possibilities? > > That is certainly easily possible. Well, a couple thousand concurrent users, on a fairly small server, may prove challenging. The database connections alone will chew a fair bit of memory, and postmasters rather more. It may be a nifty idea to build an application that sits in between that queues up requests so that the DBMS doesn't have to cope with managing thousands of concurrent connections, that are not, individually, terribly busy, but instead has 50 connections that are kept pretty busy. IBM sells a product called MQSeries that does that; I seem to recall that Microsoft paid an Israeli company to develop a 'clone,' now called MSMQ. Apparently pretty good stuff, where applicable... -- let name="cbbrowne" and tld="libertyrms.info" in String.concat "@" [name;tld];; <http://dev6.int.libertyrms.com/> Christopher Browne (416) 646 3304 x124 (land)
mendoza@cln.megared.net.mx ("Jose Mendoza") writes: > How can be efectivly configured the PostgreSQL to run in a machine > with 2 CPUs Xeon 2.4 GHz and 4GB of RAM? The PostgreSQL work with > the 2 processors? > > I had run tests and the tiems is always the same that in a computer > with 1 CPU pentium 4 2.4GHz and 2GB RAM. > > I intend to use the postgreSQL in several projects that requiere to > attend about 1000 - 2500 users in a chain of retail stores. Is is > that possible? Or is beyond that the postgresql possibilities? Well, if the tests that you have done have been presented, serially, to one connection, then they were all submitted to one backend process, in order, and you couldn't expect to get any benefit from having multiple CPUs. If you want to test how things scale with 2 CPUs and a whole bunch of users, what you most importantly have to do is to simulate the "whole bunch of users" part. You should set up programs, perhaps running on 10 computers, that generate traffic to resemble the actions of 1000 users. If you build a more proper test, you should find that the extra CPU does make some difference. But if all that you do amounts to running a single serial report, you surely won't see that... -- let name="cbbrowne" and tld="libertyrms.info" in String.concat "@" [name;tld];; <http://dev6.int.libertyrms.com/> Christopher Browne (416) 646 3304 x124 (land)