Letsgetdugg

Random tech jargon

Browsing the tag solaris

I have recently blogged about swapping malloc implementations for the JVM to help boost multi-threaded performance. Well there is yet another malloc implementation that solaris comes with that is optimized for single threaded performance; bsdmalloc. I just recently switched our perl interpreter to use bsdmalloc and got 33% faster performance with our perlbal proxy. You […]

Tagged with ,

For those interested in how we run Fabulously40. 1. Single server, OpenSolaris / 8Gigs RAM / Quad Xeon x5355 / 100Mbit line. 2. Static and dynamic data cached up front on varnish 3. Even though Nginx can handle L7 load balancing, Perlbal offers better flexibility with its plugin system 4. Jetty application servers easily scale […]

Apparently Solaris comes with some crummy settings for web hosting. Here are the settings I have used to improve our web performance at our service. victori@fab40:/etc/rc2.d# netstat -sP tcp | grep -i drop tcpTimRetransDrop = 6029 tcpTimKeepalive = 2467 tcpListenDrop = 27327 tcpListenDropQ0 = 0 tcpHalfOpenDrop = 0 tcpOutSackRetrans = 99988 If tcpListenDrop is above […]

Tagged with , ,

OpenSolaris uses a single-threaded malloc by default for all applications. The JDK that is compiled for Solaris fails to be linked against mtmalloc or the newer umem malloc implementation that is multithread optimized. In a multithreaded application using a single threaded malloc can degrade performance. As memory is being allocated concurrently in multiple threads, all the […]

Our logs at fabulously40 grow quite large each day. I needed away to rotate our nginx logs so it does not grow uncontrollably. Here is the recipe sh# logadm -w /opt/extra/nginx/logs/fab40.access.log -s 100m -a 'kill -USR1 `cat /opt/extra/nginx/logs/nginx.pid`' # check /etc/logadm.conf sh# cat /etc/logadm.conf # if you wish to test it out right away, run […]

Tagged with

I *really* needed session affinity for our wicket application. HAproxy does session affinity but can’t be reconfigured at runtime without a restart. Perlbal is much more configurable, it lets you add and remove nodes in a pool at runtime. This makes deploying a new version of our web application a lot easier. I have the […]

Tagged with , ,

Ill keep it short; SMF > rc.d # ps -ef | grep -i thttpd root 3919 6938 0 15:45:16 pts/6 0:00 grep -i thttpd webservd 18619 592 0 Jun 11 ? 0:54 /opt/extra/sbin/thttpd -C thttpd.conf Now… # kill -9 18619 # ps -ef | grep -i thttpd webservd 4017 592 0 15:47:33 ? 0:00 /opt/extra/sbin/thttpd […]

Tagged with