Re: notification payloads
От | Andrew Dunstan |
---|---|
Тема | Re: notification payloads |
Дата | |
Msg-id | 4607FBCB.4030905@dunslane.net обсуждение исходный текст |
Ответ на | Re: notification payloads (Alvaro Herrera <alvherre@commandprompt.com>) |
Список | pgsql-hackers |
Alvaro Herrera wrote: > Andrew Dunstan wrote: > > >> Let's say we provide 100Kb for this (which is not a heck of a lot) , >> that the average notification might be, say, 40 bytes of name plus 60 >> bytes of message. Then we have room for about 1000 messages in the >> queue. This would get ugly only if backend presumably in the middle of >> some very long transaction, refused to pick up its messages despite >> prodding. But ISTM that means we just need to pick a few strategic spots >> that will call CHECK_FOR_NOTIFICATIONS() even in the middle of a >> transaction and store them locally. >> > > Why have the name on each message? Presumably names are going to be few > compared to the total number of messages, so maybe store the names in a > separate hash table and link them with a numeric identifier. That gives > you room for a lot more messages. > > Maybe, but at the cost of some considerable complexity ISTM, especially as this all needs to be in shared memory. On any machine with significant workload a few Mb of memory would not be missed. How many messages do we reasonably expect to be in the queue? Judging by our usage here it would be a handful at most, but maybe others have far more intensive uses. Is anyone really doing notifies at a rate of many per second? cheers andrew
В списке pgsql-hackers по дате отправления: