Letsgetdugg

Random tech jargon

Browsing the topic main

I needed a thread-safe JSMin library for compressing javascripts on the fly on UploadBooth, so I took an existing ruby implementation and made it thread safe. I don’t think there was license defined when I got it, so I am re-releasing it as-is. require ‘monitor’ class JSMin   EOF = –1   include MonitorMixin   […]

Tagged with ,

http://github.com/victori/perlbal-plugin-mogilefs Key features – Asynchronous, does not stall the Perlbal event loop. – Converts URL paths to MogileFS fetch keys. – Failover to filesystem if key fetch failed. – Pretty statistics in Perlbal’s Management console. Its freaking awesome 😉 On a side note, I have also updated my other two Perlbal plugins. http://github.com/victori/perlbal-plugin-stickysessions – Session […]

Tagged with ,

*Update* Patches got accepted into MogileFS Trunk 😉 Just go check out trunk, it has all my patches already included. http://code.sixapart.com/svn/mogilefs/trunk/ The only thing you need is my mogstored disk patch which is still pending. All the issues revolving around postgresql and solaris have been already included in trunk. I fixed a few issues with […]

I just received my “Guide to Open-Source Operating Systems” comparing Solaris with Linux from Sun’s marketing department. Here are some of the facts that made me cringe due to blatant lying and half truths. Hey Sun, don’t let the facts get in your way. Believe it or not but this is actually verbatim from the […]

Once again I have been blind sided by yet another conservative out-of-the-box setting. IPFilter is tuned way too conservative with it’s state table size. Here is how you can tell if your hitting any issues, run ipfstat and check for lost packets. victori@opensolaris:~# ipfstat | grep lost fragment state(in): kept 0 lost 0 not fragmented […]

Recently a primary boot disk went bad on our server and I got blind sided by a non-bootable secondary mirror disk. All the data was intact but I could not boot it. This required a slow re-installation and migration process that took a very long time. • EFI partitioned drives are not ZFS bootable. • […]

Tagged with , ,

I have finally nailed out all our issues surrounding Varnish on Solaris, thanks to the help of sky from #varnish. Apparently Varnish uses a wrapper around connect() to drop stale connections to avoid thread pileups if the back-end ever dies. Setting connect_timeout to 0 will force Varnish to use connect() directly. This should eliminate all […]

Want horoscopes on your site? Give our web service a try. http://widgets.fabulously40.com/horoscope.json?sign=cancer http://widgets.fabulously40.com/horoscope.yml?sign=cancer http://widgets.fabulously40.com/horoscope.xml?sign=cancer To pull by specific date… YYYY-MM-DD month format http://widgets.fabulously40.com/horoscope.json?sign=aries&date=2009-05-03 http://widgets.fabulously40.com/horoscope.yml?sign=aries&date=2009-05-03 http://widgets.fabulously40.com/horoscope.xml?sign=aries&date=2009-05-03

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 ,

I wrote a quick micro benchmark to test out ruby threads. Apparently ruby can’t make use of multiple CPUs with it’s threading implementation. I guess you have to resort to forking to scale up to multiple cpu cores while using mri ruby. However, there is an alternative solution, just use JRuby. JRuby utilizes all cores […]