original post
... and this is my usual plea to those mysql/web/industrial folks
to try out the latest code. Help us on our quest to scale the
crap out of all of your stuff. :)
Find us on the mailing list, on #memcached on freenode, or on twitter as dormando,
dlsspy, tmaesaka, and trondn. :) All
others are fakers.
---
Two new memcached releases are available today.
Stable …
This week, I'm finishing up my book "Developing Web Applications
using Perl, memcached, MySQL and Apache". I just finished up
Chapter 1, which is the first chapter where I discuss several
things such as how much things have changed in the last ten years
with web development and Open Source in general. This lead me to
write a small section about the future. I was pondering -- where
are we going to be in ten years from now? What projects will be
popular? This lead me even to a more specific question, and one
that I would ask here: what is to become with the development of
MySQL? What will be the official development branch of MySQL, and
where is all the energy and excitement going to be around?
There is now one fork and one major branch of MySQL now that I
will mention, both are exciting projects-- and neither of them is
coming from official MySQL/Sun:
(The order of these is strictly alphabetic and not
priority!)
…
I got an email yesterday about a user experiencing problems when using memcached UDF for MySQL, so today I spent some time trying to recreate the problem. It turned out that the bug was caused by using uninitialized memory, so I guessed it could be a good blog documenting how I found it...
The first thing I did was to compile and install libmemcached and the udf:
trond@opensolaris> ./config/bootstrap trond@opensolaris> ./configure --prefix=/opt/memcached --enable-dependency-tracking --enable-debug --without-memcached trond@opensolaris> gmake all install trond@opensolaris> ./config/bootstrap trond@opensolaris> ./configure --prefix=/opt/memcached --with-mysql=/usr/mysql/bin/mysql_config --with-libmemcached=/opt/memcached CFLAGS=-g trond@opensolaris> gmake all install
The next thing to do is to instruct MySQL to look in
/opt/memcached/lib
for dynamic libraries by …
I mentioned in my previous post that recently I have been working
with web performance. Often when working with clients they want
fast performing web sites but then proceed to give you all manner
of other requirements which slow the site down to a crawl.
Convincing a client to give you the time to look at performance
isn't easy, while the gains in speed are there for all to see
attributing some monetary value to that is close to impossible.
In the longer term you might see an up turn in the traffic levels
or a higher percentage of people taking a longer user journey on
your site but whether that was a result of higher performance is
very difficult to prove.
Thankfully one of our larger clients could see the benefit of
having a dedicated resource looking at performance issues, all be
it as a result of such poor performance that the sites became
difficult to use during peek times. When a client keeps throwing
stuff at you it's easy to …
Yo,
I didn't write most of this code, but most of the new changes are
pretty awesome go read about it, grab it, and try it.
We're very careful about getting as much testing as possible
before declarnig a new release as stable. Please try it out in
your development environments, beat up on it, maybe try it out in
staging. Perhaps even be naughty and swap out one production
machine with it some late night.
A lot of the changes in this release are good for those high end
mysql/etc backed sites where you might be worried about (or are)
hitting performance issues with memcached itself. Others like
expanded statistics, optional memory optimisations, should be
useful for most folks. Please check the release announcements for
dustin's more thorough notes :)
A 1.2.7 stable release should …
Yo,
I didn't write most of this code, but most of the new changes are
pretty awesome go read about it, grab it, and try it.
We're very careful about getting as much testing as possible
before declarnig a new release as stable. Please try it out in
your development environments, beat up on it, maybe try it out in
staging. Perhaps even be naughty and swap out one production
machine with it some late night.
A lot of the changes in this release are good for those high end
mysql/etc backed sites where you might be worried about (or are)
hitting performance issues with memcached itself. Others like
expanded statistics, optional memory optimisations, should be
useful for most folks. Please check the release announcements for
dustin's more thorough notes :)
A 1.2.7 stable release should …
We had a great turnout for the Scaling MySQL Meetup last night. Chris had a pleasant surprise as he brought in Kevin Knapp as a co-speaker. We wanted to record the event, but due to technical difficulties with Webex, we … Continue reading →
This article accompanies the slides from a presentation on database sharding. Sharding is a technique used for horizontal scaling of databases we are using at Netlog. If you’re interested in high performance, scalability, MySQL, php, caching, partitioning, Sphinx, federation or Netlog, read on …
This presentation was given at the second day of FOSDEM 2009 in Brussels. FOSDEM is an annual conference on open source software with about 5000 hackers. I was invited by Kris Buytaert and Lenz Grimmer to give a talk in the MySQL Dev Room. The talk was based …
[Read more]Here are the slides from yesterday’s presentation about horizontal database scaling through sharding at the mySQL dev room at FOSDEM 2009.
I’ve got a ton of notes and remarks to these slides, which will become available here soon.
I'm pleased to announce the release of the Memcached Functions
for MySQL, version 0.8.
This version includes a bunch of fixes for behavior setting and
retrieval. You now have:
Ability to fetch a behavior:
memc_server_behavior_get();
All behaviors can be set now successfully with
memc_server_behavior_set()
Boolean:
select memc_behavior_set('MEMCACHED_BEHAVIOR_BUFFER_REQUESTS',
'1');
Name of a value (string):
select
memc_behavior_set('MEMCACHED_BEHAVIOR_HASH','MEMCACHED_HASH_MD5'
);
Numeric:
select memc_behavior_set('MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE',
60000);
Also, you can now list the distribution types to use when calling
memc_server_behavior_set('MEMCACHED_BEHAVIOR_DISTRIBUTION', ''),
which produces a list of all the distrubution types:
select …