We had an ASE dataserver experience catostrophic failure (meaning that the ASE dataserver crashed and shutdown abruptly).

We opened a ticket with Sybase Japan Support Team. They gave us the following advice / workarounds...

------------------------------------------------------------------------------------
Sybase Japan Support Team wrote...
------------------------------------------------------------------------------------

? Workaround
The followings are the workaround that can be expected to be effective at this time..

1. Adjust the packet size of default network
By increasing 'default network packet size' configuration(active) parameter up to the same value of 'max network packet size' configuration (active) parameter, the memory ensure in advance will be increased to make the additional memory unnecessary. In the result, it will not go through the logic caused the concerned phenomena.

2. Large size of packet should not be used.
The packet size used for Client application will be adjusted not to use a large packet size, and then which makes it unnecessary to obtain the additional memory. In the result, it will not go through the logic caused the concerned phenomena.

3. Increase 'additional network memory' active parameter
By increasing the size of additional memory of server wide, it may affect the timing of memory crash. In the result, it can be expected that the frequency of memory crash may be changed.

These mesaures described above is just the method led from the result of analysis of Stack Trace, etc.. So, it may not be ensured by this method to prevent the failure completely (100 percent). If we want to find the complete workaround, it is required to reoccur the phenomena.
------------------------------------------------------------------------------------


Our response...


------------------------------------------------------------------------------------
Summary of Sybase's Response and Recommended Workarounds:
------------------------------------------------------------------------------------

---------------------------
- Sybase Japan wrote...
---------------------------
? Workaround
The followings are the workaround that can be expected to be effective at this time..

1. Adjust the packet size of default network
2. Large size of packet should not be used.
3. Increase 'additional network memory' active parameter

----- these mesaures described above is just the method led from the result of analysis of Stack Trace, etc.. So, it may not be ensured by this method to prevent the failure completely (100 percent). If we want to find the complete workaround, it is required to reoccur the phenomena.

---------------------------
- DBA Team Response:
---------------------------
From our review, our environment seems to be configured correctly and according to Sybase documentation and recommendations.


---------------------------
- Sybase Documentation:
---------------------------
Please use the following URLs (Sybase Manuals) for reference...

Default Network Packet Size:
http://infocenter.sybase.com/help/in...sag/X12319.htm

Max Network Packet Size:
http://infocenter.sybase.com/help/in...sag/X12540.htm

Additional Network Memory:
http://infocenter.sybase.com/help/in...sag/X65869.htm


------------------------------------------------------------------------------------
1) Sybase Japan Recommended Workaround:
------------------------------------------------------------------------------------

---------------------------
- Sybase Japan wrote...
---------------------------
1. Adjust the packet size of default network
By increasing 'default network packet size' configuration(active) parameter up to the same value of 'max network packet size' configuration (active) parameter, the memory ensure in advance will be increased to make the additional memory unnecessary. In the result, it will not go through the logic caused the concerned phenomena.

---------------------------
- DBA Team Response:
---------------------------
We are gravely concerned with this recommendation and technical advice. From our experience, it would be discouraged to follow this practice. Not to mention, even Sybase documentation contradicts this recommendation and practice.

---------------------------
- Sybase Documentation:
---------------------------
URL: http://infocenter.sybase.com/help/in...sag/X12540.htm

Please refer to the below snippet from Sybase documentation...

max network packet size specifies the maximum network packet size that can be requested by clients communicating with Adaptive Server.
If some of your applications send or receive large amounts of data across the network, these applications can achieve significant performance improvement by using larger packet sizes. Two examples are large bulk copy operations and applications that read or write large text or image values.
Generally, you want:
0. The value of default network packet size to be small for users who perform short queries
0. max network packet size to be large enough to allow users who send or receive large volumes of data to request larger packet sizes
max network packet size must always be as large as, or larger than, the default network packet size. Values that are not even multiples of 512 are rounded down.



------------------------------------------------------------------------------------
2) Sybase Japan Recommended Workaround:
------------------------------------------------------------------------------------

---------------------------
- Sybase Japan wrote...
---------------------------
2. Large size of packet should not be used.
The packet size used for Client application will be adjusted not to use a large packet size, and then which makes it unnecessary to obtain the additional memory. In the result, it will not go through the logic caused the concerned phenomena.

---------------------------
- DBA Team Response:
---------------------------
We are gravely concerned with this recommendation and technical advice. From our experience, it would be discouraged to follow this practice. Not to mention, even Sybase documentation contradicts this recommendation and practice.

---------------------------
- Sybase Documentation:
---------------------------
URL: http://infocenter.sybase.com/help/in...sag/X12540.htm

Please refer to the below snippet from Sybase documentation...

max network packet size specifies the maximum network packet size that can be requested by clients communicating with Adaptive Server.
If some of your applications send or receive large amounts of data across the network, these applications can achieve significant performance improvement by using larger packet sizes. Two examples are large bulk copy operations and applications that read or write large text or image values.
Generally, you want:
0. The value of default network packet size to be small for users who perform short queries
0. max network packet size to be large enough to allow users who send or receive large volumes of data to request larger packet sizes
max network packet size must always be as large as, or larger than, the default network packet size. Values that are not even multiples of 512 are rounded down.




------------------------------------------------------------------------------------
3) Sybase Japan Recommended Workaround:
------------------------------------------------------------------------------------

---------------------------
- Sybase Japan wrote...
---------------------------
3. Increase 'additional network memory' active parameter
By increasing the size of additional memory of server wide, it may affect the timing of memory crash. In the result, it can be expected that the frequency of memory crash may be changed.

---------------------------
- DBA Team Response:
---------------------------
From our review, our environment seems to be configured correctly and according to Sybase documentation and recommendations.

* According to my mathematical calculations, our environment is configured to support over 3,000 connections that use a large packet size of 4096. Of course this number exceeds the existing configuration for "number of user connections". Meaning we would run out of connections before running out of network memory.

- using Sybase's recommended formula...

(number of user connections * large packet size) * 3 = Total
then... Total * 2% overhead = overhead total
then... overhead total + Total = total bytes
then... round up to multiple of 2048

---------------------------
- Sybase Documentation:
---------------------------
Please refer to the below URL from Sybase documentation...

URL: http://infocenter.sybase.com/help/in...sag/X65869.htm

Important Note: I would like to investigate further how the number of "number of worker processes" and "memory per worker process" impact this formula (if at all).