Optimizasyon ipuçları ve püf noktaları [kapalı]

3 Cevap php

Bizim web hizmeti optimize etmek gerekiyor, ancak nereden başlayacağınızı bilmiyorsanız. Biz GWT, PHP ve PostgreSQL koşuyoruz. Hatta herhangi bir performans verilerine zirve kalmadan, ben önemli optimizasyonlar veritabanında ne olacak tahmin ediyorum.

Ben DB yeniden yapılandırılması hakkında bir şey, ne de indeksleme bilmiyorum. (Gerçekten veritabanları dersin şey 'Bilmiyorum.) Büyük ölçüde üç alanda herhangi bir takdir tüm işaretçileri!

3 Cevap

Always ölçümü ile başlar. Herhangi darboğazları nerede bilmek kadar, geliştirmek için ne bilmiyorum. "Hatta herhangi bir performans verilerine peeked sahip olmadan" Eğer doğru arama yapmak için olası konum - ya da en azından, ben sık sık I performansı zarar olduğu hakkında yanlış tahminler yapmak bulabilirsiniz. Belki ... (Tabii ki, iyi kodunuzda veritabanında olabilir :)) benden daha tahmin iyisin

Ölçüm araçları istekleri uzun farklı veritabanı tarafında vb tam profilleyicilerini, sorgu analizörleri için, almak nasıl görmek için günlük tablolar kadar basit olabilir, neredeyse kesinlikle kullanmak isteyeceksiniz EXPLAIN bakmak kendisi pahalı web servisine talep ettiği, sorgu yürütme planları ... ama önce sorgular ilk etapta size zarar olduğunu bilmek istersiniz, ve daha fazlası.

Db dokunmadan önce best practices from yahoo bakmak (ve önce darboğaz tanımlamak). Küçük bir hız iyileştirilmesi için zaman harcamak istemiyorsanız, genellikle büyük hız ups bağlantı ipuçlarını kullanarak elde edilebilir.

Lütfen frontend'i profile kullanabilirsiniz olabilir page speed.

Kalanı gibi ilk önce darboğazları tespit emin olun dedi.

Bildiğim kadarıyla DB hakkında endişeler gider gibi ben yavaş sorguları hızlandırmak için tablo bazı indeksleri oluşturmak öneririm (tespit sadece)

http://www.postgresql.org/docs/8.2/static/sql-createindex.html

CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] name ON table [ USING method ]
    ( { column | ( expression ) } [ opclass ] [, ...] )
    [ WITH ( storage_parameter = value [, ... ] ) ]
    [ TABLESPACE tablespace ]
    [ WHERE predicate ]

Zaman ve ne zaman bir dizin kullanmak için bazı okuma yapmak için emin olun