Showing entries 1 to 10 of 67
10 Older Entries »
Displaying posts with tag: Wordpress (reset)
TEXT and VARCHAR inefficiencies in your db schema

The TEXT and VARCHAR definitions in many db schemas are based on old information – that is, they appear to be presuming restrictions and behaviour from MySQL versions long ago. This has consequences for performance. To us, use of for instance VARCHAR(255) is a key indicator for this. Yep, an anti-pattern.

VARCHAR

In MySQL 4.0, VARCHAR used to be restricted to 255 max. In MySQL 4.1 character sets such as UTF8 were introduced and MySQL 5.1 supports VARCHARs up to 64K-1 in byte length. Thus, any occurrence of VARCHAR(255) indicates some old style logic that needs to be reviewed.

Why not just set the maximum length possible? Well…

A VARCHAR is subject to the character set it’s in, for UTF8 this means either 3 or 4 (utf8mb4) bytes per character can be used. So if one specifies VARCHAR(50) CHARSET utf8mb4, …

[Read more]
Contributing to popular frameworks for scalability

Right now we’re volunteering some engineering time to assisting the WordPress and WooCommerce people with scalability issues. In the past we’ve put similar efforts into Drupal.

There are many opinions on these systems out there, most of them sadly negative. We take a different view. Each of these frameworks obviously has their advantages and disadvantages, but the key question is why people use them. When we understand that, we can assess that reasoning, and assist further.

Obviously writing your own code all the way is going to potentially create the most optimal result for your site. A custom tool is going to be less code and more optimal for your situation. However, it also requires you to put in quite a bit of development effort both to create and to maintain that system, including security issues. When you’re big enough (as a site/company) this can be worthwhile, but more and more organisations …

[Read more]
MySQL Group Replication, the perfect HA database backend for web hosting

Many web hosting provider are looking for HA solution for the database backend they deliver to their customers.

Galera never became the perfect choice for these environment due to 2 factors:

  1. no DBA really manage the databases
  2. Galera runs database changes in Total Order Isolation

What does that really mean ? In fact, when you are a website hosting provider, you host the website (apache, nginx) on vhosts and you share a database server in which every customer has access to their own schema for their website.

Most of the time, those websites are CMS like Drupal, WordPress or Joomla (and certainly many others sharing the same …

[Read more]
Curing a Critical Security Bug

A WordCamp US this year, I spoke about the Trojan Emoji security bug, which we fixed in WordPress 4.1.2.

In particular, I went through how we came to wrap our head around the bug, and then write a solution that worked for every WordPress site.

ClouSE 1.0 is generally available


OblakSoft is pleased to announce general availability of the Cloud Storage Engine for MySQL (ClouSE) version 1.0.  Whether you want to use ready-to-run WordPress for Amazon Cloud / Google Cloud, configure your own WordPress installation with WP2Cloud plugin, or use ClouSE to deploy your own applications, ClouSE lets you tap the power of cloud storage to store your data extremely durably and make serving the content highly scalable.

We would like to thank more than 2,000 registered Beta users and early adopters who helped …

[Read more]
ScaleArc: Real-world application testing with WordPress (benchmark test)

ScaleArc recently hired Percona to perform various tests on its database traffic management product. This post is the outcome of the benchmarks carried out by me and ScaleArc co-founder and chief architect, Uday Sawant.

The goal of this benchmark was to identify ScaleArc’s overhead using a real-world application – the world’s most popular (according to wikipedia) content management system and blog engine: WordPress.

The tests also sought to identify the benefit of caching for this type of workload. The caching parameters represent more real-life circumstances than we applied in the sysbench performance tests – the goal here was not just to saturate the cache. For this reason, we created an artificial WordPress blog with generated data. …

[Read more]
WordPress and UTF-8

Update: WordPress 4.2 has full UTF-8 support! There’s no need to upgrade manually any more. ?

For many years, MySQL had only supported a small part of UTF-8, a section commonly referred to as plane 0, the “Basic Multilingual Plane”, or the BMP. The UTF-8 spec is divided into “planes“, and plane 0 contains the most commonly used characters. For a long time, this was reasonably sufficient for MySQL’s purposes, and WordPress made do with this limitation.

It has always been possible to store all UTF-8 characters in the latin1 character set, though latin1 has shortcomings. While it recognises the connection between upper and lower case characters in Latin alphabets (such as English, French and German), it doesn’t recognise the same connection for other alphabets. For example, it doesn’t know …

[Read more]
On rumors of "PHP dropping MySQL"

Over the last few days different people asked me for comments about PHP dropping MySQL support. These questions confused me, but meanwhile I figured out where these rumors come from and what they mean.

The simple facts are: No, PHP is not dropping MySQL support and we, Oracle's MySQL team, continue working with the PHP community.

For the long story we first have to remember what "PHP's MySQL support" includes. There key part are four extensions which are part of the main PHP tree:

  • ext/mysql
  • ext/mysqli
  • ext/pdo_mysql
  • ext/mysqlnd

The first one, ext/mysql provides the mysql_* functions. This is the classic interface taught in many (old) books and used by lots of (old) software. mysqli is "mysql improved", this is a younger extension providing access to all MySQL features. pdo_mysql contains the driver …

[Read more]
OblakSoft Cloud Storage Engine Newsletter, June 2013

ClouSE 1.0b.1.8 is released

OblakSoft is pleased to announce the release of ClouSE Beta version 1.0b.1.8.  This is a minor maintenance release that addresses a couple pain points, while we’re working on a release candidate that will bring the built-in point-in-time recovery and other major features.

Here is the summary of changes:

  • Improved caching for Weblobs

Now ClouSE sets the cache control headers for Weblobs.  The cache control headers specify the max-age directive that allows caching content for one year.  This makes proxies and content delivery networks (CDN) more efficient.  The change resolves this support issue.

  • Improved error handling on startup

Now database requests fail if …

[Read more]
MySQL on Cloud Storage: ClouSE upgrade made easy

Updating ClouSE can now be done with one command

With more than a thousand registered users worldwide, guiding customers through the upgrade process is getting hard, so we decided to automate the servicing steps.  Now the update-clouse script can be used to update ClouSE binaries to the current version.  This script ships with the ClouSE binary distribution.

Here is an example of updating ClouSE using the Webmin console.

First, download ClouSE 64-bit binaries from http://www.oblaksoft.com/downloads/.  Then upload and extract the binaries to the /home/ec2-user directory. In Webmin, navigate to Others, then to Upload and Download, then …

[Read more]
Showing entries 1 to 10 of 67
10 Older Entries »