Вы не можете смешать VirtualHosts и non-VirtualHosts. Удалите DocumentRoot
директива от Вашего основного Apache httpd конфигурация и добавляет значение по умолчанию VirtualHost
блок вместо этого:
# Include the virtual host configurations:
Listen 80
# This is the other address
NameVirtualHost *:80
# This VirtualHost will also be served when no Host
# header was provided or the hostname is unknown.
# See
# http://httpd.apache.org/docs/2.2/vhosts/details.html
<VirtualHost *:80>
DocumentRoot /var/www
ServerName giantpixels.com.au
<Directory “/var/www”>
allow from all
Options +Indexes
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /home/gardenbook/wwwroot/gardenbook
ServerName garden.giantpixels.com.au
<Directory “/home/gardenbook/wwwroot/gardenbook”>
allow from all
Options +Indexes
</Directory>
</VirtualHost>
Посетите этот сайт, он содержит очень полезную информацию:
http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/
http://www.mysqlperformanceblog.com/2007/11/03/choosing-innodb_buffer_pool_size/
Вы также можете настроить свою файловую систему. У меня хорошие результаты по производительности на XFS с оптимальными значениями sunit и swidth (конечно, если вы используете RAID)
вам нужно «разогреться» innodb. например, путем повторного воспроизведения журналов доступа или выполнения некоторых интеллектуальных запросов, которые касаются каждого значения из индекса.
Надеюсь, вы не используете настройки mysql по умолчанию для innodb - они подходят для оборудования с ~ 2000 года.
Перед тем, как выбрать MyISAM или InnoDB, вам нужно будет просмотреть оба механизма хранения с точки зрения того, что каждый кэширует
При чтении индексы таблицы MyISAM могут быть прочитаны один раз из файла .MYI и загружается в кэш ключей MyISAM (размер key_buffer_size ). Как сделать так, чтобы .MYD таблицы MyISAM читались быстрее? При этом:
ALTER TABLE mytable ROW_FORMAT=Fixed;
Я писал об этом в своих прошлых сообщениях
20 сентября 2011 г.
: https://dba.stackexchange.com/questions/5974/best-of-myisam-and- innodb / 6008 # 6008 (Сначала прочтите это) 10 мая 2011 г.
: https://dba.stackexchange.com/questions/2640/what-is-the-performance -impact-of-using-char-vs-varchar-on-a-fixed-size-field / 2643 # 2643 (TRADEOFF # 2) 12 августа 2011 г.
: https: //dba.stackexchange. com / questions / 4576 / which-dbms-is-good-for-super-fast-reads-and-a-simple-data-structure / 4589 # 4589 (Параграф 3) 3 января 2012 г.
: https://dba.stackexchange.com/questions/10069/optimized-my-cnf-for-high-end-and-busy-server/10080#10080 (Под заголовком Репликация ) Хорошо, а как насчет InnoDB? Делает ли InnoDB дисковый ввод-вывод для запросов? Удивительно, но да !! Вы, наверное, думаете, что я сошел с ума, сказав это, но это абсолютно верно даже для запросов SELECT . В этот момент вы, вероятно, задаетесь вопросом: «Как вообще InnoDB выполняет дисковый ввод-вывод для запросов?»
Все восходит к тому, что InnoDB является механизмом транзакционного хранения ACID -жалобы. Чтобы InnoDB был транзакционным, он должен поддерживать I
в ACID
, что является изоляцией. Техника обеспечения изоляции транзакций осуществляется через MVCC, Multiversion Concurrency Control . Проще говоря, InnoDB записывает, как выглядят данные, прежде чем транзакции попытаются их изменить. Где это записывается? В файле системного табличного пространства, более известном как ibdata1. Это требует дискового ввода-вывода .
Поскольку и InnoDB, и MyISAM выполняют дисковый ввод-вывод, какие случайные факторы определяют, кто будет быстрее?
DELETE
и UPDATE
Таким образом, в среде с интенсивным чтением возможно для таблицы MyISAM с фиксированным форматом строк чтобы превзойти InnoDB при чтении из пула буферов InnoDB, если в журналы отмены, содержащиеся в ibdata1, записано достаточно данных для поддержки транзакционного поведения, наложенного на данные InnoDB. Тщательно спланируйте типы данных, запросы и механизм хранения. Когда объем данных будет расти, их будет очень сложно перемещать.
Кстати, 5 дней назад я написал что-то вроде этого: Как мне назначить ограничение памяти для mySQL?
MyISAM всегда будет работать намного быстрее, чем innodb, когда нет конкуренции за данные. Начните добавлять несколько сеансов, пытаясь обновить одну и ту же таблицу, и innodb очень быстро получит преимущество в производительности.
То, как вы настраиваете систему для двух движков, очень отличается.
Причина, по которой разные движки существует потому, что существуют разные рабочие нагрузки / шаблоны доступа.
После дальнейшей настройки InnoDB на MariaDB, я увеличил innodb_buffer_pool_size
до размера моей базы данных InnoDB, так как при этом InnoDB начал получать строки быстрее
Я полагаю, что настройка InnoDB очень важен в соответствии с потребностями вашей базы данных