The forum will be down for maintenance over the weekend of August 18-20, 2017. The forum will be shut down on the evening (EDT) of Friday, August 18. Downtime is unknown but may be up to two days. The forum will be restarted as soon as maintenance is complete.

Is this simply a case of "not enough cache memory" for dbsrv11.exe?

Scenario: 100 database started in one engine, then 10 connections attempted for each database.

I. 09/14 11:20:32. SQL Anywhere Network Server Version 11.0.1.2276 I. 09/14 11:20:32. Workgroup edition
...
I. 09/14 11:20:32. Database "ddd001" (ddd001.db) started at Tue Sep 14 2010 11:20
...
I. 09/14 11:22:24. Database "ddd100" (ddd100.db) started at Tue Sep 14 2010 11:22
I. 09/14 11:22:44. Cache size adjusted to 235580K
I. 09/14 11:22:49. Cache size adjusted to 249980K
...
I. 09/14 12:54:26. Allocating a communication buffer failed
I. 09/14 12:54:26. Allocating a communication buffer failed
... [many similar messages]
I. 09/14 12:54:29. Allocating a communication buffer failed
I. 09/14 12:54:29. Allocating a communication buffer failed
I. 09/14 12:54:29. Connection terminated abnormally
I. 09/14 12:54:29. Disconnected SharedMemory client's AppInfo: IP=192.168.1.104;HOST=BCARTER-PC;OSUSER=bcarter;OS='Windows Vista Build 6001 Service Pack 1';EXE=C:\Breck\benchmark\rrloadtest.exe;PID=0x1f4c;THREAD=0x1de8;VERSION=11.0.1.2276;API=ODBC;TIMEZONEADJUSTMENT=-240
I. 09/14 12:54:29. Allocating a communication buffer failed
I. 09/14 12:54:29. Connection terminated abnormally
I. 09/14 12:54:29. Disconnected SharedMemory client's AppInfo: IP=192.168.1.104;HOST=BCARTER-PC;OSUSER=bcarter;OS='Windows Vista Build 6001 Service Pack 1';EXE=C:\Breck\benchmark\rrloadtest.exe;PID=0x1f4c;THREAD=0x778;VERSION=11.0.1.2276;API=ODBC;TIMEZONEADJUSTMENT=-240
I. 09/14 12:54:29. Allocating a communication buffer failed
I. 09/14 12:54:29. Connection terminated abnormally
... [and so on]

asked 14 Sep '10, 17:07

Breck%20Carter's gravatar image

Breck Carter
26.6k433604877
accept rate: 21%


No, the communication buffers don't come out of the cache. This is a case of the server process running out of memory - either creating a buffer using malloc failed or creating a piece of shared memory failed.

A thousand connections to a single server isn't all that crazy, though 100 databases on a single server is quite a lot. If you try a 64-bit server on a machine with lots of RAM, I suspect you are less likely to see this problem.

permanent link

answered 14 Sep '10, 17:34

Graeme%20Perrow's gravatar image

Graeme Perrow
8.6k373110
accept rate: 52%

4GB RAM, less than half used, and 64-bit Vista Ultimate. Removing the -c and -gn parameters made the problem go away... probably removing the -gn did the trick, I had stupidly set a large value -gn 120.

(14 Sep '10, 18:25) Breck Carter
3

It's not memory that is the limitation here but address space. On 64-bit Windows a 32-bit process has 4GB of address space. What was the max cache size (-ch whether explicit or by default)? It's displayed at startup and that comes out of your address space. The default in your configuration should be about 3.6GB. -gn 120 accounts for another 120MB (by default) of address space for thread stacks. Take out the executable, DLLs & some other allocations outside of the cache and the server is really tight for address space.

Use the 64-bit server and never worry about address space again :)

(15 Sep '10, 01:28) John Smirnios
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×85

question asked: 14 Sep '10, 17:07

question was seen: 1,219 times

last updated: 14 Sep '10, 17:34