Jump to content

Recommended Posts

Добрый день!

Помогите правильно настроить my.conf  для магазина на 1000 товаров и 50 категорий.
VDS  - 1500Mhz, 1000Mb.
Сейчас конфиг выглядит так!

# The MySQL server
[mysqld]
port		= 3306
socket		= /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256K
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 128K
read_buffer_size = 128K
read_rnd_buffer_size = 128K
net_buffer_length = 2K
thread_stack = 128K
thread_cache_size = 4
query_cache_size=10M
default-storage-engine=myisam
tmp_table_size=32M
max_heap_table_size=32M
low-priority-updates
wait_timeout=90
interactive_timeout=180
back-log=10
max-connections = 30
myisam_sort_buffer_size = 50M
skip-innodb
server-id	= 1

Заранее спасибо всем!
 

Share this post


Link to post
Share on other sites

Памяти сколько? Смысл так настроить, чтобы MySQL как можно меньше свопил на диск, чтобы все буферы были в памяти.

key_buffer_size можно побольше, индексов в OpenCart много.

В phpmyadmin можно поглядеть эффективность настройки - там он пишет сколько из кэша, сколько мимо.

Share this post


Link to post
Share on other sites

Памяти сколько? Смысл так настроить, чтобы MySQL как можно меньше свопил на диск, чтобы все буферы были в памяти.

key_buffer_size можно побольше, индексов в OpenCart много.

В phpmyadmin можно поглядеть эффективность настройки - там он пишет сколько из кэша, сколько мимо.

А где именно в PHPMyadmin?

Share this post


Link to post
Share on other sites
SELECT COUNT( DISTINCT p.product_id ) AS total
FROM oc_product p
LEFT JOIN oc_product_description pd ON ( p.product_id = pd.product_id )
LEFT JOIN oc_product_to_store p2s ON ( p.product_id = p2s.product_id )
WHERE pd.language_id = '2'
AND p.status = '1'
AND p.date_available <= NOW( )
AND p2s.store_id = '0'
AND p.product_id
IN (

SELECT p2c.product_id
FROM oc_product_to_category p2c
WHERE p2c.category_id = '485'
)

Обнаружил, что все процессорное время идет на этот запрос! Есть ли решение? В OC 1.5.6 кол-во товаров в категории выключено...

Share this post


Link to post
Share on other sites
SELECT COUNT( DISTINCT p.product_id ) AS total
FROM oc_product p
LEFT JOIN oc_product_description pd ON ( p.product_id = pd.product_id )
LEFT JOIN oc_product_to_store p2s ON ( p.product_id = p2s.product_id )
WHERE pd.language_id = '2'
AND p.status = '1'
AND p.date_available <= NOW( )
AND p2s.store_id = '0'
AND p.product_id
IN (

SELECT p2c.product_id
FROM oc_product_to_category p2c
WHERE p2c.category_id = '485'
)

Обнаружил, что все процессорное время идет на этот запрос! Есть ли решение? В OC 1.5.6 кол-во товаров в категории выключено...

 

Этот запрос в подсчете товаров в категории. Если вы его отключали галкой в админке, то в 1.5.6 это не избавит от этого запроса.

Либо вы модуль какой-то поставили сторонний. Зачем тут джойнить oc_product_description, если по нему не фильтруется и выборки описания нет?

 

Оригинальный 1.5.6 по части SQL-запросов - просто шлак.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.