Нужен опытный программист, который бы смог разобраться в коде сайта и оптимизировать его. Сейчас сайт работает очень медленно, админ который настраивал сервер , говорит что самое узкое место на сайте, это запросы к базе данных. Вот пример который он приводит :
************************************
**********************************
*************************************** | 19.03.2015 14:45 [img]file:///C:/Program%20Files%20(x86)/ICQ7.6/imApp/theme/IMAGES/History/im-icon.png[/img] |
теперь по узким местам. узкое место у вас - база данных , точнее запросы в ней. по производительности сечас там настроено все как положено, но необходимо оптимизировать запросы. например тяжелючий запрос: # Time: 150319 13:53:09 # User@Host:**************] @ localhost [] # Thread_id: 441 Schema: ************ QC_hit: No # Query_time: 114.540405 Lock_time: 0.000217 Rows_sent: 7 Rows_examined: 75930262 SET timestamp=1426762389; SEL ECT DISTINCT BS.*, B.LIST_PAGE_URL, B.SECTION_PAGE_URL, B.IBLOCK_TYPE_ID, B.CODE as IBLOCK_CODE, B.XML_ID as IBLOCK_EXTERNAL_ID, BS.XML_ID as EXTERNAL_ID, DATE_FORMAT(BS.TIMESTAMP_X, '%d.%m.%Y %H:%i:%s') as TIMESTAMP_X, DATE_FORMAT(BS.DATE_CREATE, '%d.%m.%Y %H:%i:%s') as DATE_CREATE ,COUNT(DISTINCT BE.ID) as ELEMENT_CNT FR OM b_iblock_section BS INNER J |
******************************************* | 19.03.2015 14:45 [img]file:///C:/Program%20Files%20(x86)/ICQ7.6/imApp/theme/IMAGES/History/im-icon.png[/img] |
OIN b_iblock B ON BS.IBLOCK_ID = B.ID INNER JOIN b_iblock_section BSTEMP ON BSTEMP.IBLOCK_ID = BS.IBLOCK_ID LEFT JOIN b_iblock_section_element BSE ON BSE.IBLOCK_SECTION_ID=BSTEMP.ID LEFT JOIN b_iblock_element BE ON (BSE.IBLOCK_ELEMENT_ID=BE.ID AND ((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL ) AND BE.IBLOCK_ID = BS.IBLOCK_ID ) AND BE.ACTIVE='Y' AND (BE.ACTIVE_TO >= now() OR BE.ACTIVE_TO IS NULL) AND (BE.ACTIVE_FROM <= now() OR BE.ACTIVE_FROM IS NULL)) WHERE 1=1 AND BSTEMP.IBLOCK_ID = BS.IBLOCK_ID AND BSTEMP.LEFT_MARGIN >= BS.LEFT_MARGIN AND BSTEMP.RIGHT_MARGIN <= BS.RIGHT_MARGIN AND ((((BS.AC |
19.03.2015 14:45 [img]file:///C:/Program%20Files%20(x86)/ICQ7.6/imApp/theme/IMAGES/History/im-icon.png[/img] | |
TIVE='Y')))) AND ((((BS.GLOBAL_ACTIVE='Y')))) AND ((((BS.IBLOCK_ID = '27')))) AND (BS.LEFT_MARGIN >=572) AND (BS.RIGHT_MARGIN <=586) AND ((((BS.DEPTH_LEVEL <= '3')))) AND ((((B.ID = '27')))) AND (( B.ID IN ( SEL ECT IBLOCK_ID FR OM b_iblock_group IBG WH ERE IBG.GROUP_ID IN (2) AND IBG.PERMISSION >= 'R' AND (IBG.PERMISSION='X' OR B.ACTIVE='Y') ) OR (B.RIGHTS_MODE = 'E' AND EXISTS ( SELECT SR.SECTION_ID FR OM b_iblock_section_right SR INNER JOIN b_iblock_right IBR ON IBR.ID = SR.RIGHT_ID INNER JOIN b_user_access UA ON UA.ACCESS_CODE = IBR.GROUP_CODE AND UA.USER_ID = 0 WH |
19.03.2015 14:45 [img]file:///C:/Program%20Files%20(x86)/ICQ7.6/imApp/theme/IMAGES/History/im-icon.png[/img] | |
ERE SR.SECTION_ID = BS.ID AND IBR.OP_SREAD = 'Y' )) )) GROUP BY BS.ID, B.ID ORDER BY BS.LEFT_MARGIN asc; [root@********************** mysql]# он выполнялся 114(!!!) секунд. при этом Query_time: 114.540405 Lock_time: 0.000217 Rows_sent: 7 Rows_examined: 75930262 всего отправил в базу данных 7 записей, а обработал 75 млн строк. |