Встроенный механизм кэширования запросов в MySQL.

MySQL содержит встроенный механизм кэширования запросов, который, однако не включен по умолчанию. Вот такие параметры выставленны по умолчанию в MySQL 5.0:
mysql> show variables like ‘query_cache%’;

mysql> show variables like 'query_cache%';
+------------------------------+---------+
| Variable_name                | Value   |
+------------------------------+---------+
| query_cache_limit            | 1048576 |
| query_cache_min_res_unit     | 4096    |
| query_cache_size             | 0       |
| query_cache_type             | ON      |
| query_cache_wlock_invalidate | OFF     |
+------------------------------+---------+

Чтобы включить кэш запросов и выделить под него 32 мегабайта памяти можно выполнить запрос set @@global.query_cache_size=32*1024*1024; с правами суперпользователя, а чтобы сделать эту настройку постоянной, следует добавить в my.cnf в подраздел [mysqld] строчку query_cache_size=32M. Второй полезный параметр – query_cache_limit задает максимальный объем результата выполнения запроса, который может быть помещен в кэш

Текущее состояние кэша

Посмотреть состояние кэша можно с помощью запроса:
mysql> SHOW GLOBAL STATUS LIKE ‘Qcache%’;

+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 973      |
| Qcache_free_memory      | 14282000 |
| Qcache_hits             | 3293750  |
| Qcache_inserts          | 252819   |
| Qcache_lowmem_prunes    | 0        |
| Qcache_not_cached       | 66645    |
| Qcache_queries_in_cache | 1342     |
| Qcache_total_blocks     | 3709     |
+-------------------------+----------+
8 rows in set (0.00 sec)

Здесь:

Qcache_free_memory – объем свободной памяти, отведенной под кэш.
Qcache_hits – количество запросов, отработанных из кэша.
Qcache_inserts – количество вставок запросов в кэш.
Qcache_lowmem_prunes – количество высвобождений памяти из-за наполненности кэша.
Qcache_not_cached – количество запросов, не подлежащих кэшированию.
Qcache_queries_in_cache – количество запросов, находящихся в кэше в настоящее время.

Мерой эффективности кэша может служить отношение Qcache_hits / (Qcache_inserts + Qcache_not_cached).
25 069 / (11 196 + 916) = 2.06976552 (каждый второй запрос выполняется из базы)
3 293 750 / (252 819 + 66 645) = 10.3102384 (каждый 10 запрос выполняется из базы)

Втроенные видео через iframe с youtube не дружат с fancybox или другим lightbox-подобным плагином?

Просто добавь в конце iframe атрибута src=» ?wmode=opaque

Например так src=»http://www.youtube.com/embed/rb5BANzaxAU?wmode=opaque»

Плагин Category Templates не работает в Wordpress версии >= 3?

Если плагин Category Templates v2.1 перестал работать после обновления Wordpress на версию 3.0 или 3.1,
следует в файле плагина cat-templates.php на строке 96 поменять
if ($data[$category->term_id]['template'] != ‘0′)
на
if ($data[$category->term_id]['template'] > ‘0′)

height + line-height > vertical-align = вертикальное и горизонтальное выравнивание в блоке ;-)

block{
height:200px;
line-height:200px;
text-align:center;
}
block img{
vertical-align: middle;
}
3MMC

Вывод ошибок PHP в браузер

В .htaccess написать:
php_value display_errors 1
php_value error_reporting 2047

Работает, если PHP подключен как модуль апача.

Установка eAccelerator на CentOS 5

Акселератор требует autoconf, automake, libtool, m4. Также весьма желателен пакет php-devel, а именно утилита phpize, дабы не пересобирать пхп руками.
Исходная ОС – CentOS 5.3(Final)

Качаем сам акселератор (актуальную ссылку можно взять на http://www.eaccelerator.net/):
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2

untar eaccelerator-0.9.5.3.zip
cd eaccelerator-0.9.5.3

Доставляем необходимые пакеты
yum install autoconf automake libtool php-devel make gcc

Далее:
phpize
./configure –enable-eaccelerator=shared –with-php-config=/usr/bin/php-config
make
make install

vi /etc/php.ini

extension=»eaccelerator.so»
eaccelerator.shm_size = «64″
eaccelerator.cache_dir = «/var/cache/eaccelerator»
eaccelerator.enable = «1″
eaccelerator.optimizer = «1″
eaccelerator.debug = 0
eaccelerator.log_file = «/var/log/httpd/eaccelerator_log»
eaccelerator.name_space = «»
eaccelerator.check_mtime = «1″
eaccelerator.filter = «»
eaccelerator.shm_max = «0″
eaccelerator.shm_ttl = «3600″
eaccelerator.shm_prune_period = «0″
eaccelerator.shm_only = «0″
eaccelerator.compress = «1″
eaccelerator.compress_level = «5″
eaccelerator.keys = «shm_and_disk»
eaccelerator.sessions = «shm_and_disk»
eaccelerator.content = «shm_and_disk»
eaccelerator.allowed_admin_path = «»

Создаются папки для временных файлов:
mkdir /var/cache/eaccelerator
chmod 777 /var/cache/eaccelerator

Все. Осталось перезагрузить apache.

service httpd restart

ps
с некоторыми версиями eAccelerator есть проблема с open_basedir
решается патчем http://eaccelerator.net/ticket/396

Обновление PHP на CentOS 5 + обновление Plesk 9

Есть такой сайт http://www.atomicrocketturtle.com, где собрано много обновлений к Плеску.
Скорее всего, из этого репозитория обновляться будет безопаснее, поскольку он создавался специально для Плеска.

Таким образом, обновляться будем с репозитария http://www.atomicorp.com/channels/plesk/

Все действия совершаются в SSH

Ставим PGP-ключ:
wget http://www.atomicrocketturtle.com/RPM-GPG-KEY.art.txt
rpm –import RPM-GPG-KEY.art.txt
Добавляем репозиторий для yum:
wget -q -O – http://www.atomicorp.com/installers/atomic.sh | sh

Установка php:
yum install php

Обновление php:
yum update php

После обновления может быть, что mcrypt не обновился.
Делаем следующее:
yum remove php-mcrypt
yum –enablerepo=remi –exclude=php*5.3* install php-mcrypt

Дополнительно можно обновить MySQL:
yum update mysql-server

Или вообще всё подряд )
yum update

Проблема с кодировкой русских букв в WordPress?

Добавьте в .htaccess следующие директивы и проблема кодировки  в блоге решится.

# пляски с кодировкой #
#http://httpd.apache.org/docs/2.0/mod/core.html#adddefaultcharset
AddDefaultCharset utf-8
#http://httpd.apache.org/docs/2.0/mod/mod_mime.html#addcharset
AddCharset utf-8 *
<IfModule mod_charset.c>
CharsetSourceEnc utf-8
CharsetDefault utf-8
</IfModule>
# пляски с кодировкой #

! Решение из разряда «дешево и сердито». Используйте внимательно.

Wordpress, swfupload и ошибка HTTP

Иногда, при загрузке файлов при помощи flash загрузчика, возникает ошибка HTTP «Во время загрузки произошла ошибка. Пожалуйста, повторите попытку позже.»
Бывает, что она проявляется только в одном из установленных в системе браузере.
У меня это случилось в Firefox 3, при установленном flash плеере debug версии
Хотя, на самом деле, это проблема на стороне хостинга.

Для решения необходимо добавить в .htaccess следующий блок:

# решается проблема с WP swfupload
#BEGIN Image Upload HTTP Error Fix
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
<IfModule security_module>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
<IfModule security2_module>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
#END Image Upload HTTP Error Fix

и желательно установить обычный flash плеер, не дебаг )

подробнее »

Чемпионат по картингу среди диджеев

djcartingcup.ru

Наша новая работа.
Интерфейс сайта полностью на FLASH.
Сайт работает на WordPress, адаптированном для эффективного обмена данными с FLASH, с учетом специфики поисковой оптимизации и продвижения.
Оптимизирован для просмотра
на мониторах с разрешением выше 1024х768
URL: DjCartingCup.ru

подробнее »