Re: Semaphores
Posted in 1998
>julie lin wrote:
>>
>> Hello,
>>
>> Does any one know how many semaphores the informix needs when
>> start "oninit" ? Can I change the semaphore values ?
>
>The actual number of semaphores is equal to the number of possible
>shared memory connections and is allocated in semaphore groups
Well - almost. ;)
Additionally each VP has a seperate semaphore that it "blocks" on when it has
nothing to do. The semaphore will be unblocked when there is some work for
that VP to do.
Also, each shared memory poll thread has an additional semaphore that is used
by the client program to notify the shm poll thread that an entry has been
placed in that message buffer pool.
( in my
>system the groups each contain 100 semaphores the actual number per
>group is dependent on the kernel configuration). The engine will
>allocate as many maximum size groups as needed plus a smaller group if
>needed to complete the needs of each listening VP separately. For
>example on my development machine I have:
>
>NETTYPE ipcshm,8,250,CPU>
>That is 8 listeners with 250 connections each for a total of 2000
>possible connections. There are 24 semaphore groups allocated on
>the system (see ipcs -s) each of the 8 connections has two 100
>semaphore groups and one 50 sempahore group to make up the 250 needed.
>
>You can configure the maximun available semaphores and the maximum size
>of each group in the kernel configuration files, often /etc/system but
>that is system dependent. Be sure to allow for additional semaphores
>beyond your Informix requirements for other applications when you
>configure the kernel. It is best to set these values to AT LEAST the
>values recommended in the release notes for your platform even if you
>need fewer semaphores but don't be shy to increase these values beyond
>the release notes numbers if you need them.
>
Madison Pruet