Results 1 to 7 of 7

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    _
    Join Date: Apr:2006
    Location: _
    Posts: 1,128

    php âúïðîñ

    èìàì åäèí ãîëÿì web site îò ïðèáëèçèòåëíî 30 ñòðîíèöè íà php. Êàê ìîãà äà îïòèìèçèðàì óåá ñàéòà òàêà ÷å äà èçïîëçâà ïî-ìàëêî hdd çà äà ÷åòå ïî-áúðçî. Àêî ñëîæà â åäèí ãëàâåí ôàéë âñè÷êè ôóíêöèè è íàñî÷à âñè÷êè ñòðàíèöè äà ÷åòàò îò òàì òîâà áè ëè óñêîðèëà óåá ñàéòà
    È êàêâè äðóãè âúçìîæíîñòè èìà çà äà óñêîðÿ çàðåæäàíåòî?

  2. #2
    Áåëûé è ïóøèñòûé Bombera's Avatar
    Join Date: Jul:2001
    Location: Êàçàíëúê 4EVA
    Posts: 13,833
    30 ñòðàíèöè ñà íèùî, òå ñòîÿò êåøèðàíè â ïàìåòòà òàêà èëè èíà÷å, îáðúùåíèÿ êúì äèñêà áóêâàëíî íÿìà(çà Óèíäîóñ ïîíå å òàêà) è ñ Àïà÷è, è ñ IIS. Ïî-ìàëêî íà áðîé ôàéëîâå å ïî-äîáðå, íî ùîì ñà ñàìî 30-èíà åäâà ëè ñà ïðîáëåì.
    Òè ñèãóðåí ëè ñè, ÷å ÷åòåíåòî îò äèñêà íà php ôàéëîâåòå òå áàâè ïî íÿêàêúâ íà÷èí? Ùîòî åäâà ëè å òàêà.
    Â ìîìåíòà ïèøà php ôàéë, êîéòî å 80 KB ñ òåíäåíöèÿ äà ðàñòå è ðèñïîíñà å ìèãíîâåí. Ñàéòúò ñå ñúñòîè îò äåñåòèíà òàêèâà è äåñåòèíà ïî-ìàëêè. Òîâà, êîåòî íàé-âåðîÿòíî òå áàâè å áàçàòà, àêî èìà òàêàâà. Òðàíçàêöèîííà ëè å?
    Last edited by Bombera; 16th December 2009 at 23:05.
    EVGA X299 FTW K|i9-7960X@4.7|4x8 Patriot Viper Steel 4000|GTX 1660 Ti|970 EVO 1 TB|Seasonic Focus GX-1000|Xigmatek Elysium|Êèëî è ïîëîâèíà âîäà
    Rampage IV Extreme BE|E5-1680v2@4.7|4x4 HyperX 1866|Cougar Aqua 240|GTX 1050 Ti|970 EVO 1/4 TB|CM 850 SilentPro|HAF-X|Áåç èñòèíñêî âîäíî

  3. #3
    _
    Join Date: Apr:2006
    Location: _
    Posts: 1,128
    äà, ìàé ïðîáëåìà å â ìíîãîòî çàÿâêè êúì mysql

    èìà ëè íà÷èí äà ñå îïòèìèçèðà?

  4. #4
    Ëîø àäìèí! vbTheKing's Avatar
    Join Date: Sep:2003
    Location: Ñîôèÿ
    Posts: 4,138
    Quote Originally Posted by Red_Leader View Post
    Àêî ñëîæà â åäèí ãëàâåí ôàéë âñè÷êè ôóíêöèè è íàñî÷à âñè÷êè ñòðàíèöè äà ÷åòàò îò òàì òîâà áè ëè óñêîðèëà óåá ñàéòà
    Äà, ùå ãî óñêîðèø ñ íÿêîëêî ìèëèñåêóíäè. Àêî èìàø 10 000 ïîòðåáèòåëè îíëàéí åäíîâðåìåííî â òîçè ñàéò - ùå èìà ïîëçà îò òàçè ãèìíàñòèêà.  ïðîòèâåí ñëó÷àé - íå.

    Quote Originally Posted by Red_Leader View Post
    È êàêâè äðóãè âúçìîæíîñòè èìà çà äà óñêîðÿ çàðåæäàíåòî?
    Ìîæåø äà ñè îïòèìèçèðàø êîäà ïî ìíîãî íà÷èíè. Îáèêíîâåíî íàé-òåñíèòå ìåñòà ñà çàÿâêèòå êúì áàçà äàííè. Íàïðàâè ïðîôèë íà êîäà çà äà âèäèø êúäå ñå áàâè íàé-ìíîãî è äà ãî îïòèìèçèðàø. Ðàçãëåäàé âúçìîæíîñòèòå çà ïðîôèëèíã íà xdebug
    Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
    Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
    Äàâàéòå ñëåäâàùàòà Êàñà...

  5. #5
    Áåëûé è ïóøèñòûé Bombera's Avatar
    Join Date: Jul:2001
    Location: Êàçàíëúê 4EVA
    Posts: 13,833
    Çàâèñè îò åñòåñòâîòî íà çàÿâêèòå. Àç ëè÷íî ïðåäïî÷èòàì äà äæîéíâàì òàáëèöè, äîðè ïî íÿêîëêî, îòêîëêîòî äà âàäÿ ñúùèòå äàííè ñ íÿêîëêî çàÿâêè.
    Ïðèìåðíî çàÿâêà îò òèïà:
    Code:
    SELECT u. * , COUNT( ccuptr.UNIT_ID ) AS USAGE_CNT, COUNT( guptr.MASTER_UNIT_ID ) AS USAGE_CNT_COMP
    FROM (
    
    SELECT z. * , uc.description AS CATEGORY_DESCRIPTION, SUM( guptr._COUNT ) AS UNITS_COUNT, COUNT( * ) AS UNIT_TYPES_COUNT
    FROM unitz z
    LEFT JOIN group_units_ptr guptr ON ( z.ID = guptr.UNIT_ID ) 
    LEFT JOIN unit_categories uc ON ( z.category_id = uc.id ) 
    GROUP BY z.ID
    )u
    LEFT JOIN group_units_ptr guptr ON ( guptr.MASTER_UNIT_ID = u.ID ) 
    LEFT JOIN conf_cat_units_ptr ccuptr ON ( u.ID = ccuptr.UNIT_ID ) 
    GROUP BY u.ID
    ...èçèñêâà, ãðóáî, 6 ëèíåéíè çàÿâêè è ñå èçïúëíÿâà ìíîãî ïî-áúðçî. Îáðàáîòêàòà èì å äàëå÷ ïî-ñëîæíà ñúùî, îòêîëêîòî íà òàçè çàÿâêà, îò ñàìèÿ ÏÕÏ ñêðèïò.

    Âúïðîñ íà òåñòîâå å êîå å àêòóàëíî íàé-áúðçèÿò âàðèàíò. À îïòèìèçàöèÿòà íà çàÿâêèòå ñè å öÿëà íàóêà è òî ïðîôèëèðàíà êúì îòäåëåí ïðîäóêt, áàçà äàííè.

    Îñâåí òîâà, ïîëçâàé mysqli ðàçøèðåíèåòî, ÷å èìà ïîäãîòâåíè çàÿâêè(prepared statements). Àêî ìîæåø ïîëçâàé InnoDB òàáëèöè, âìåñòî äðóãèòå íåòðàíçàêöèîííè äâèãàòåëè, çà äà èçáåãíåø ðú÷íèòå ëîê-îâå íà òàáëèöèòå. Ïîëçâàé òðèãåðè çà ìíîæåñòâåíè úïäåéòè íà áàçàòà, òàêà ÷å äà èçãëåæäàò àòîìè÷íè îïåðàöèè çà ñêðèïòà. Ñ äðóãè äóìè, êîëêîòî ïî-ðÿäêî ñå îáðúùàø êúì áàçàòà, å îáùî âçåòî ïî-äîáðå, äîðè è äà ñå íàëàãà äà âúðòèø ñëîæíè çàÿâêè.

    Ï.Ñ. È â çàêëþ÷åíèå, àêî ìîæåø äà ïîëçâàø Ôàéúðáúðä, çàáðàâè çà MySQL
    Last edited by Bombera; 16th December 2009 at 23:29.
    EVGA X299 FTW K|i9-7960X@4.7|4x8 Patriot Viper Steel 4000|GTX 1660 Ti|970 EVO 1 TB|Seasonic Focus GX-1000|Xigmatek Elysium|Êèëî è ïîëîâèíà âîäà
    Rampage IV Extreme BE|E5-1680v2@4.7|4x4 HyperX 1866|Cougar Aqua 240|GTX 1050 Ti|970 EVO 1/4 TB|CM 850 SilentPro|HAF-X|Áåç èñòèíñêî âîäíî

  6. #6
    Registered User
    Join Date: Jul:2005
    Location: Sofiq
    Posts: 2,798
    Quote Originally Posted by Bombera View Post
    Ïðèìåðíî çàÿâêà îò òèïà:
    Code:
    SELECT u. * , COUNT( ccuptr.UNIT_ID ) AS USAGE_CNT, COUNT( guptr.MASTER_UNIT_ID ) AS USAGE_CNT_COMP
    FROM (
    
    SELECT z. * , uc.description AS CATEGORY_DESCRIPTION, SUM( guptr._COUNT ) AS UNITS_COUNT, COUNT( * ) AS UNIT_TYPES_COUNT
    FROM unitz z
    LEFT JOIN group_units_ptr guptr ON ( z.ID = guptr.UNIT_ID ) 
    LEFT JOIN unit_categories uc ON ( z.category_id = uc.id ) 
    GROUP BY z.ID
    )u
    LEFT JOIN group_units_ptr guptr ON ( guptr.MASTER_UNIT_ID = u.ID ) 
    LEFT JOIN conf_cat_units_ptr ccuptr ON ( u.ID = ccuptr.UNIT_ID ) 
    GROUP BY u.ID
    Íèêîãà íå ñè ïðàâåòå çàÿâêèòå òàêà Òîâà å çàÿâêà îò çàÿâêà, êîåòî ìåãà áàâíî. Âòîðèòå join íå ïîëçâàò íèêàêâè èíäåêñè ïîíåæå òàáëèöàòà "u" å âðåìåííà òàáëèöà. Çíà÷è ïîäîáíà çàÿâêà ìîæå äà ñå íàïðàâè, íî ïúðâî ñå ñúçàäâà âðåìåííà òàáëèöà ñ CREATE TEMPORARY, êàòî ñå äîáàâÿ èíäåêñ ïî ïîëåòà ñ êîèòî ùå ñå join-âà èëè òúðñè.

    Åñòåñòâåíî ñêîðîñòà å ìíîãî îòíîñèòåëíà è çàâèñè îò ñåòà îò äàííè. Òàêàâà çàÿâêà àêî ÿ ïóñíåø íà ñåò îò íÿëêîëêî ìèëèîíà çàïèñà, êàòî òè ñâúðøè ïàìåòòà ùå óñåòèø êîëêî ìîæå äà å áàâíà.

    Ïúê è ñåãà êàòî ÿ ãëåäàì ìè ñå ñòðóâà, ÷å ìîæå äà ñå íàïèøå è áåç âðåìåííà òàáëèöà ñ èçïîëçâàíå DISTINCT êàäåòî òðÿáâà.

    Èíà÷å íàé ëåñíèÿ íà÷èí çà îïòèìèçèðàíå å äà ïóñíåø EXPLAIN íà âñè÷êè çàâêè â ñàéòà. Àêî ìèíàâàø ïðåç íÿêàêàâ âðàïåð ùå å ñðàâíèòåëíî ëåñíî äà ãî ïóñíåø. Ïîñëå õâàùàø è íàâñÿêàäå, êúäåòî íå ïèøå type != index ïî÷âàø äà ñëàãàø ïî ñúîòâåòíîòî ïîëå èíäåêñ. Òîâà áè òðÿáâàëî äà òè ñâúðøè ðàáîòà.

    Îò äðóãà ñòðàíà, àêî çàÿâêèòå ñà òè êàòî íà Bombera, áåç ðåäàêöèÿ íÿìà äà ìîæå äà ãè îïðàâèø.
    Last edited by _ShadoW_; 18th December 2009 at 13:56.

  7. #7
    Áåëûé è ïóøèñòûé Bombera's Avatar
    Join Date: Jul:2001
    Location: Êàçàíëúê 4EVA
    Posts: 13,833
    Ïðàâ ñè, âëîæåíèÿ SELECT å ìíîãî áàâåí, â ñëó÷àÿ îáà÷å òàáëèöèòå, êîèòî ñå äæîéíâàò êúì unitz ñà ìíîãî òúíêè è íèêîãà íÿìà äà ìèíàò 100-èíà çàïèñà âñÿêà, òúé êàòî ñà îïèñàòåëíè. Äðóã âàðèàíò å äà ñå èçíåñå âëîæåíèÿ SELECT âúâ âþ.  ìîÿ ñëó÷àé å äîðè ïî-óäîáíî, òúé êàòî âúòðåøíàòà çàÿâêà ÿ ïîëçâàì è íà äðóãè ìåñòà. Ñìÿòàì îá÷å, ÷å òî å îâúðêèë çà òîëêîâà ìàëêî äàííè, à è àêî ñå íàëàãà äà ïðàâÿ ïðîìåíè, äîêàòî ñå ðàçâèâà ïðèëîæåíèåòî, ïðåäïî÷èòàì äà íå ìè ñå íàëàãà äà äðîïâàì è ïðàâÿ âþ-òà íàíîâî, îñâåí òîâà òúðïè ðúíòàéì ðåäàêöèÿ.
    "Íå ïðàâåòå çàÿâêèòå ñè òàêà" íå èç÷åðïâà âñè÷êî, êàêòî ñå âèæäà îò ðàçñúæäåíèÿòà òè ïî-êúñíî Ôóíêöèîíàëíîñòòà ÿ èìà â áàçàòà, çíà÷è ìîæå äà ñå ïîëçâà, ñòèãà äà ñå èçïîëçâà ðàçóìíî è êîðåêòíî êúì êîíêðåòíàòà ñèòóàöèÿ. Çâó÷è êàòî "Íèêîãà íå èçïîëçâàéòå îïåðàòîð çà áåçóñëîâåí ïðåõîä!".
    È äà ïðèçíàÿ, íå ñúì ñå è îïèòâàë äà èçìèñëÿ ïî-äîáðà çàÿâêà. Îùå ñìå íà âàðèàíò - "äà ðàáîòè êîðåêòíî ñàìî"

    ÁÄÓ, íå ñå èìàì çà íèêàêâî ñâåòèëî â îáëàñòòà íà áàçèòå, ðàáîòÿ ñ òÿõ ïî íåîáõîäèìîñò, òàêà ÷å è àç ïðèåìàì êîíñòðóêòèâíà êðèòèêà ñ óäîâîëñòâèå.
    Last edited by Bombera; 18th December 2009 at 14:49.
    EVGA X299 FTW K|i9-7960X@4.7|4x8 Patriot Viper Steel 4000|GTX 1660 Ti|970 EVO 1 TB|Seasonic Focus GX-1000|Xigmatek Elysium|Êèëî è ïîëîâèíà âîäà
    Rampage IV Extreme BE|E5-1680v2@4.7|4x4 HyperX 1866|Cougar Aqua 240|GTX 1050 Ti|970 EVO 1/4 TB|CM 850 SilentPro|HAF-X|Áåç èñòèíñêî âîäíî

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 Õàðäóåð ÁÃ. Âúçìîæíî å ñúäúðæàíèåòî íà òàçè ñòðàíèöà äà å îáåêò íà àâòîðñêè ïðàâà.
iskamPC.com | mobility.BG | Bloody's Techblog | Êðèïòîâàëóòè è ìàéíèíã | 3D Vision Blog | Ìàãàçèí çà åëåêòðîííè öèãàðè