Category: Databases
Using Nginx, SSI and Memcache to Make Your Web Applications Faster
5 Aug2007

If you’d take a look at any web site, you will notice, that almost all of the pages on this given site are pretty static in their nature. Or course, this site could have some dynamic elements like login field or link in the header, some customized menu elements and some other things… But entire page could be considered static in many cases.

When I started thinking about my sites from this point of view, I understood, how great it would be to be able to cache entire page somewhere (in memcache for example) and be able to send it to the user without any requests to my applications, which are pretty slow (comparing to memcache 😉 ) in content generation. Then I came up with a pretty simple and really powerful idea I’ll describe in this article. An idea of caching entire pages of the site and using my application only to generate small partials of the page. This idea allows me to handle hundreds of queries with one server running pretty slow (yeah! it is slow even after all optimizations on MySQL side and lots of tweaks in site’s code) Ruby on Rails application. Of course, the idea is kind of universal and could be used with any back-end languages, technologies or frameworks because all of them are slower then memcache in content “generation”.

Read the rest of this entry


MySQL Proxy Released
30 Jun2007

Few month ago I heard about some initial work on MySQL Proxy software by Jan Kneschke and I thought about implementing some type of MySQL Replication Aggregator based on this software. The idea was to create some piece of software which could get many replication streams, merge them and feed to some mysql slave. This software could be used for backup purposes and many other interesting things. But back then mysqlproxy distribution has been suspended (afaik, by MySQL AB because of some legal issues).

And at last, today MySQL Proxy project has been released to public and it became much more flexible so I think we need to take a look at it and try to implement such replication aggregator patches for it.


MySQL UC 2007 Videos are Available!
25 May2007

Thanks to MySQL community members we’ve got really great collection of media files from the recent mysqluc. Thanks to Seeri for all that work he’s done to collect everything in one place so we could watch/listen/read information from this great event.

So, if you did not attended mysqluc07, then you definitely should visit Technocation page, dedicated to this conference.

P.S. I’m going to post links to these videos and descriptions for the sessions on the Best Tech Videos soon, so If you are not sure to watch some video or not, just wait while I’m merging these links with information from mysqluc site.


MMM Release 1.0-pre4
16 May2007

New alpha release 1.0-pre4 of the MySQL Master-Master Replication Manager. This release has lots of major fixes and I’m glad to announce first sponsored port of mmm to non-linux platform – it has been ported to Solaris 10. So, here are our changes in this version:

  • Real checks timeouts – I’ve found and fixed lots of problems in checks timeout code and now if you specified in your mmm_mon.conf, that some check should timeout in 5 sec, it would timeout correctly on all supported platforms.
  • External third-party tools using – On all supported non-linux platforms mmm will use system binaries for fping and arp_ping so porting to another platforms would be much easier.
  • Agent notifications fix – Now we don’t try to notify dead agents about cluster changes and additionally we have 10 sec timeout on notification sends to prevent monitoring from lagging on network connection timeouts.
  • Bundled fping and send_arp – We have both used third-party tools used in mmm bundled in our distribution as separate build trees (you could find and build/install them from contrib directory).
  • Flexible perl binary location – We’re using “#!/usr/bin/env perl” as shebang line in our perl scripts so you can use any perl interpreter just by placing it earlier in your PATH variable.

Notice: If you’ll try to install this version, try to run bin/sys/fping and bin/sys/send_arp on your server before installation. If you’ll notice any errors, feel free to build binaries for your platform using contrib/* sources (you’ll need gcc and libnet installed).

So, as you can see, mmm development goes forward and we’re fixing some problems trying to make this software mature. If you want to help us, you can send your comments to mmm-devel mailing list, post your bug reports to our bug tracking or sponsor any changes you need 😉


MMM Release 1.0-pre3
6 May2007

[lang_en]

MySQL Master-Master Replication Manager version 1.0-pre3 has been released today. Changes list is really short now:

  • Major fix in multiple clusters support – now you can use many clusters with one monitoring node (details are in mmmd_mon man page)
  • Man pages for mmmd_mon, mmmd_agent and mmm_control scripts
  • Startup scripts added/fixed for mmmd_mon and mmmd_agent
  • Installation script now requires iproute package to be installed on server.

As always, if you have any questions/suggestions, post them here or in mmm-devel mail list.

[/lang_en]

[lang_ru]

Очередной релиз MySQL Master-Master Replication Manager – сегодня версии 1.0-pre3. Список изменений в этой версии – совсем короткий:

  • Важное исправление в поддержке нескольких кластеров – теперь вы можете использовать один мониторинговый сервер для управления несколькими кластерами (детальнее – в man-странице для mmmd_mon)
  • Добавлены man pages для скриптов mmmd_mon, mmmd_agent и mmm_control
  • Стартовые скрипты для mmmd_mon and mmmd_agent
  • Инсталляционный скрипт теперь требует наличия пакета iproute на сервере.

Как всегда, если у вас есть какие-то дополнения/пожелания/комментарии, вы можете оставить их здесь или отправить в список рассылки mmm-devel.

[/lang_ru]