Re: glibc thread_stack

2005-01-18 Thread Wouter de Jong
On Mon, Nov 29, 2004 at 11:50:20AM -0700, Sasha Pachev wrote:

Hi,

 Hello,
 
 For a few servers with  1000 concurrent connections, 
 I've compiled glibc 2.3.3 with a patched STACK_SIZE in
 linuxthreads/descr.h :
 
 #ifndef STACK_SIZE
 #define STACK_SIZE  (128 * 1024)
 #endif
 
 instead of #define STACK_SIZE  (2 * 1024 * 1024)
 
 This by the hints on the Documentation @ mysql.com
 
 But, now I notice:
 
 041125 15:15:34  mysqld started
 041125 15:15:34 Warning: Asked for 196608 thread stack, but got 126976
 041125 15:15:35  InnoDB: Started
 /usr/local/mysql/libexec/mysqld: ready for connections.
 
 
 Is the 128K STACK_SIZE I've built glibc with too little, and should I
 update it to 256K ?
 
 Originally, MySQL team believed 128K was sufficient. Then some time later 
 it was discovered that some DNS resolving routines required a 192K stack in 
 some cases. So for safety reasons, mysqld was modified to request at least 
 192K stack. In your case, your modification to glibc makes it impossible 
 for it to have a 192K stack, which is why you are getting the message. 
 However, if you run mysqld with --skip-name-resolve (you will need to 
 update your priv tables to use numeric addresses), glibc DNS routines are 
 never called, so  128K should be sufficient.

I see :)

With MySQL 4.1.8 and higher, I need to use a stack_size of at least 256K, 
else MySQL segfaults (signal 11) when started. This is with gcc-3.3.5 and 
glibc-2.3.3.

Maybe something you guys should look into this some more, since 
it really boosts performance :)

Also, I have one other question regarding this:

When building with --with-other-libc, the build automatically changes to
a static build. But, when using OpenSSL, it _must be_ a dynamic build, 
according to the configure-script. 

Does anyone have a clue on howto built with a custom glibc, but also
have OpenSSL-support ? I really need it :)

Thanks !

Kind regards,

-- 
WideXS  http://www.widexs.nl
Wouter de Jong  System-Administrator
Tel +31 (0)23 5698070   Fax +31 (0)23 5698099
Bijlmermeerstraat 62,   2131 HG  HOOFDDORP, NL

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: glibc thread_stack

2004-11-29 Thread Sasha Pachev
Wouter de Jong wrote:
Hello,
For a few servers with  1000 concurrent connections, 
I've compiled glibc 2.3.3 with a patched STACK_SIZE in
linuxthreads/descr.h :

#ifndef STACK_SIZE
#define STACK_SIZE  (128 * 1024)
#endif
instead of #define STACK_SIZE  (2 * 1024 * 1024)
This by the hints on the Documentation @ mysql.com
But, now I notice:
041125 15:15:34  mysqld started
041125 15:15:34 Warning: Asked for 196608 thread stack, but got 126976
041125 15:15:35  InnoDB: Started
/usr/local/mysql/libexec/mysqld: ready for connections.
Is the 128K STACK_SIZE I've built glibc with too little, and should I
update it to 256K ?
Originally, MySQL team believed 128K was sufficient. Then some time later it was 
discovered that some DNS resolving routines required a 192K stack in some cases. 
So for safety reasons, mysqld was modified to request at least 192K stack. In 
your case, your modification to glibc makes it impossible for it to have a 192K 
stack, which is why you are getting the message. However, if you run mysqld with 
--skip-name-resolve (you will need to update your priv tables to use numeric 
addresses), glibc DNS routines are never called, so  128K should be sufficient.

Also, with the disclaimer that I have not investigated this issue deeply, from a 
quick research + some memory about the incident, I believe the 192K stack 
requirement comes from a RedHat patch to libc, and if your version of libc does 
have this problem, mysqld will crash right way the moment you try to connect to it.

--
Sasha Pachev
Create online surveys at http://www.surveyz.com/
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]


glibc thread_stack

2004-11-25 Thread Wouter de Jong
Hello,

For a few servers with  1000 concurrent connections, 
I've compiled glibc 2.3.3 with a patched STACK_SIZE in
linuxthreads/descr.h :

#ifndef STACK_SIZE
#define STACK_SIZE  (128 * 1024)
#endif

instead of #define STACK_SIZE  (2 * 1024 * 1024)

This by the hints on the Documentation @ mysql.com

But, now I notice:

041125 15:15:34  mysqld started
041125 15:15:34 Warning: Asked for 196608 thread stack, but got 126976
041125 15:15:35  InnoDB: Started
/usr/local/mysql/libexec/mysqld: ready for connections.


Is the 128K STACK_SIZE I've built glibc with too little, and should I
update it to 256K ?

max_connections=1500, and max_allowed_packet=25M

glibc = 2.3.3
gcc = 3.4.3
mysql = 4.0.22

Please advice :)

-- 
WideXS  http://www.widexs.nl
Wouter de Jong  System-Administrator
Tel +31 (0)23 5698070   Fax +31 (0)23 5698099
Bijlmermeerstraat 62,   2131 HG  HOOFDDORP, NL

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]