Showing entries 27891 to 27900 of 44922
« 10 Newer Entries | 10 Older Entries »
Scaling Memcached: 500,000+ Operations/Second with a Single-Socket UltraSPARC T2

A software-based distributed caching system such as memcached is an important piece of today's largest Internet sites that support millions of concurrent users and deliver user-friendly response times. The distributed nature of memcached design transforms 1000s of servers into one large caching pool with gigabytes of memory per node. This blog entry explores single-instance memcached scalability for a few usage patterns.

Table below shows out-of-the-box (no custom OS rewrites or networking tuning required) performance with 10G networking hardware and one single-socket UltraSPARC T2-based server with 8 cores and 8 threads per core (64 threads on a chip). All runs are done with a single memcached instance and 40 worker threads so that about 3 cores (24 threads) are used for the critical networking stack that is also heavily parallelized. 40+24 threads is a nice balance for this …

[Read more]
Open Source Licensing Considerations

The two predominant forms of open source licenses are BSD and GPL. PostgreSQL is licensed under the BSD license , while MySQL is licensed under GPL . While the details are arcane, the business impact is significant, and that is what this post addresses.

The BSD (or BSD-style) License: This license basically says: ‘This code is provided as is, do what you want with it, and include this copyright in your resulting product.’

The GPL License: This license, also known as the copyleft license, essentially says: ‘This is free and distributed as source code, and any addition or extension must also be distributed under these exact terms.’

BSD essentially says I prefer open source code, so I’m making my source code open and freely available, but what you do with it …

[Read more]
Why Oracle can’t kill MySQL.

When Oracle agreed to acquire Sun there was some speculation that Oracle might try to kill MySQL. First this wouldn’t be a very prudent effort on Oracle’s part and second it’s not even possible. I think Monty has the best explanation from his comment on his blog:

The simple fact is one can’t own an open source project. One can control it by controlling the people which are leading and developing it. When a company doesn’t take good care of their employees and those employees start to leave the company and work on the project elsewhere, that company has lost control of the project.

The whole comment is worth reading. Monty does a good job of putting the Sun purchase into perspective with regards to MySQL and the developer community.

The Platform is Everything

“… when you get the money, you get the power. Then when you get the power, then you get the women.” –Tony “Scarface” Montana

In the world of computing, first you get the users, then you get the applications, then you get the power. What do I mean by power? In a word “platform”. If the only way for users to get applications is through you, and the only way for application developers to get to users is through you, then you are a platform. If you continue to nurture and grow your platform, your company is immortal, it is a goose that will continue to lay golden eggs…as long as you continue to nurture it.

To get the users, you need to deliver immediate value. Once you achieve critical mass of users, the developers will start showing up, whether you want them or not. A good example of this was Myspace. They attracted so many users, that developers started providing extensions directly to users without Myspace’s …

[Read more]
Symfony, PHP, OS X and how not to be an idiot. (can’t find driver mysql) error

Leopard 10.5.7 now comes with PHP 5.2.8, I wasn’t aware of this, and it’s caused me a great amount of agony and hair pulling over the past few days. So, for those of you running XAMPP and recently upgraded to 10.5.7 you may want to be aware of this.

When I had installed XAMPP, I had removed the php binaries in /usr/bin, and linked them to their equivalents in /Applications/XAMPP/xamppfiles/bin/

10.5.7, removed the php symlink and replaced it with the 5.2.8 binary. This caused all sorts of problems for me, as my tasks stopped working. The fix is simple, just replace the symlink again.

Thought I’d share this with others in the same situation as me. On irc people told me to switch to MAMP, but that’s not solving the problem .

eLiberatica 2009

As I write this, my friend (and eLiberatica chair) Lucian is packing up to fly to Bucharest for this year’s instance of the eLiberatica Electronic Frontier/Free Software/Open Source conference. Sadly, I won’t be participating this year – a commitment to less travel and a new venture make doubly sure that I’m staying home.

Despite the downturn, it looks like this is going to be a great year for the conference: 400 people have registered and the list of speakers is formidable, including: OSI board member Danese Cooper, FSFE founder Georg Greve, MySQL founders David Axmark and Monty Widenius and Zbigniew “Gandalf” Branecki from Mozilla Europe.

If you are in or near Romania, you should try to …

[Read more]
Using libmysqld with Microsoft Visual C++ 2008 Express

[ Note: this post was updated on Dec 2, 2009 to correct dashes. In the original post, dash dash -- was showing up as a single dash. This is noted in the comments and has been corrected in the text below.]

These are very (very) basic instructions for setting up a very simple application with Microsoft Visual C++ 2008 Express to use the MySQL Embedded Library (libmysqld).

The MySQL Embedded Library is a full version of the server that is available as a dynamic or static library.  Developers can run the library inside their application.  It’s extremely fast, easy to distribute and it’s ideal for stand-alone applications.  More information about the library can be found at http://dev.mysql.com/doc/refman/5.1/en/libmysqld.html

Having little experience using Visual C++, I’ve struggled to find instructions for setting up a project to use a dynamic library.  I finally got it to work thanks to …

[Read more]
Webinar on the New MySQL Connector/C++

Tomorrow (Wednesday, May 20, 2009), Ulf Wendel and Andrey Hristov, engineers working in the Connector team of Sun|MySQL database group, will be presenting a webinar about the new MySQL Connector/C++. This connector, which uses much the JDBC API patterns, was recently made available as a GA release during the MySQL Conference and Expo.

Register from anywhere in the world and listen to Ulf and Andrey as they talk to you about Connector/C++ from somewhere in Germany!

Addendum: At this very moment, I'm attending this free Webinar. It is truly amazing how well-coordinated this is. So, if you couldn't get to this, try to make it to some other upcoming MySQL Webinar.

Multi Direction Sorts and avoiding a file sort

There are two PRIMARY directions to sort data in SQL: Ascending (ASC) and Descending DESC.
When these two sort definitions are put together in a single statement a filesort is produced.

Why do we want to avoid filesorts?

Filesorts are bad. 1st they tickle a thread based buffer called sort_buffer_size. Additionally filesorts reads the data twice, unless max_length_for_sort_data limit is reached and as a result the Filesort runs slower to reduce disk I/O. If you want filesorts to run faster at the expense of the disk increase the default max_length_for_sort_data. You can read the filesort algorithm here.

So, here is an example


CREATE TABLE `ABCD` (
`A` int(10) unsigned NOT NULL default '0',
`B` int(10) unsigned NOT NULL default '0',
`C` int(10) unsigned NOT NULL …
[Read more]
Libmemcached Version 0.29 Released

We have released version 0.29 of libmemcached.

The highlights:
* Fixed malloc usage to calloc for spots where we need zero filled memory.
* All code warnings now treated as errors.
* Fixes for debian packaging.
* Added new pooling mechanism.
* MEMCACHED_BEHAVIOR_NO_BLOCK no longer also sets MEMCACHED_BEHAVIOR_BUFFER_REQUESTS.
* Updated generic rpm.

The new pooling mechanism is thread safe so if you have been looking for a way to limit your number of memcachd_st structures and you use threads you are now set!
This work was done to improve the connection handling in Drizzle for Memcachd (and it is going into the UDF for MySQL as well).

You can find out more information here:
http://tangent.org/552/libmemcached.html

Showing entries 27891 to 27900 of 44922
« 10 Newer Entries | 10 Older Entries »