D
dbeavon
Guest
>> Threads are not some sort of free magic bullet. They require resources like memory, stacks, database connections, and other things Thanks Gus, I know they aren't totally free, but I would guess they are less expensive than having lots of servers (-Mpb). The memory, database connections, and CPU will be consumed regardless of whether we scale up on the -Ma side or on the -Mpb side. But as you indicate there may slightly less blocking and resource conflict when using independent processes rather than independent threads. However I would think this would be minimal until you get up to 100's of threads. Maybe Progress makes this stuff "flexible" so we can account for differences in the behaviors of Linux/Windows/HPUX. We are currently using HPUX, and have configured it to allow ~2000 threads per process as I recall. Also, it is not clear to me whether each -Ma (a slot used by a connected client) is going to consume a *dedicated* thread in the first place. Perhaps there is a threadpool whereby only the clients that have *active* queries are paired to a thread. In that case I would think that the -Ma could be set to a value that is much higher than the number of threads that the OS will allow in a process. If/when an entire server process crashes, I realize that all connected clients will experience errors. This is a good factor to remember, and may help us be moderate with the -Ma. While the SQL92 server processes rarely crash, it was already clear to me that more than one server process should be running at all times - for failover purposes if nothing else. >> I wouldn't have more than 50 threads per process. So this means you are suggesting -Ma of no more than 50? Are you basing that on the assumption that each of the -Ma has a dedicated thread? I wish I could find a KB that tells us what factors to consider when tuning the -Ma and -Mpb. It seems like there may be an art in it. What would be really nice is if these things were dynamic and governed by the DBMS itself (rather than by OE dba's). I'd rather not run into the self-inflicted user limit over and over again, as we slowly increase -Ma and -Mpb by small increments of five or whatever. It seems like a dba should have better things to work on, and nobody appreciates the database outages that are required to make each adjustment.
Continue reading...
Continue reading...