2004年05月26日 星期三 19:14
外部方法写程序确实比较快些(是指写程序的效率高),但外部方法不是说比直接用zope api继承下来实现慢吗? 外部方法获取数据源,zpt做模板,模板套上数据就成了输出的html。也用了缓存和数据库连接池。我这是通常的做法,这样效率不行吗?你认为问题出在哪里?是模板语言?还是什么?我在测试的时候,db的io不是特别高,所以得出的结论是zope有问题。 我相信你那个会比较快些,因为你的外部方法根本不去拿数据,数据是由一个后台程序定时去拿的。但是这样做可能只适用于实时性不要求很高的应用。对于一个论坛,大家发表了文章,没有理由要求他过一会儿才能看到自己贴的文,他会以为自己没贴成功,会继续贴了很多个同样的文章。一般都要求一发贴就能看到的..... 这些情况又没有好方法呢? 期待跟你交流,你是属于吃透zope的架构,并且善于根据自己应用的特点去做优化的人。 -----邮件原件----- 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 周海文 发送时间: 2004年5月26日 18:03 收件人: python-chinese at lists.python.cn 主题: Re: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? 呵呵!,不好意思,这个就是我们做的。 你说的对,我们基本上是全部用ZOPE中的External Method连接python程序,然后由python程序产生html输出。在ZOPE中作了缓存,有一个后台更新程序定时从数据库选择数据,然后更新到ZOPE的内存空间,python程序则直接从内存中拿数据组成动态的页面。 至于共享数据库连接的问题,你可以先写一个简单的数据库连接类,然后实例化成对象,然后从其他的python程序中import这个对象,用这个对象访问数据库,就已经是共享的了。 这种共享数据库连接的方法是基于python的,所以不仅在zope中可以,而且在apache+mod_python中也可以(我们有apache+mod_python的项目也是这么用的)。 ----- Original Message ----- From: "Tan Lihui" <tony at exchange.ricsson.com> To: <python-chinese at lists.python.cn> Sent: Wednesday, May 26, 2004 5:28 PM Subject: 答复: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? 巨灵财经? 怎么找人问呢? -----邮件原件----- 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 Jacob Fan 发送时间: 2004年5月26日 15:55 收件人: python-chinese at lists.python.cn 主题: Re: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? ----- Original Message ----- From: "周海文" <zhou.haiwen at gti.cn> To: <python-chinese at lists.python.cn> Sent: Wednesday, May 26, 2004 3:41 PM Subject: Re: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? > 你说zope的效率有问题,你可以看看 http://webfinance.gti.cn,这个网站目前的数据库容量已有13GB,是使用zope+python的组合,效率也不见差呀? > > 关于效率,我认为 apache+mod_python 是python中最快的组合。 是啊,不是一般的快。 ;-) _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese
2004年05月27日 星期四 09:10
db io的效率关键是要生成一个共享的数据库联接对象(如下面的SHARE.py),然后每次访问数据库时就使用这个对象(如other.py),就减少了每次建立连接的开销。速度会明显提高很多。 #file: SHARE.py import dbi,odbc,time class DataBaseParent: def __init__(self,strConnect): self.strConnect=strConnect self.db=odbc.odbc(strConnect) def select(self,sqlstr): cur=self.db.cursor() cur.execute(sqlstr) List=cur.fetchall() iTotal_length=len(List) self.description=cur.description return List,iTotal_length def delete(sql): ... try: db=DataBaseParent("ODBC_DSN_NAME/sa/sa") #关系数据库连接对象 except: raise 'db connect error' #file: other.py from SHARE import db #导入数据库连接对象 def getContent(): lT,iN=db.select("select * from users") print lT,iN ----- Original Message ----- From: "Tan Lihui" <tony at exchange.ricsson.com> To: <python-chinese at lists.python.cn> Sent: Wednesday, May 26, 2004 7:14 PM Subject: 答复: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? 外部方法写程序确实比较快些(是指写程序的效率高),但外部方法不是说比直接用zope api继承下来实现慢吗? 外部方法获取数据源,zpt做模板,模板套上数据就成了输出的html。也用了缓存和数据库连接池。我这是通常的做法,这样效率不行吗?你认为问题出在哪里?是模板语言?还是什么?我在测试的时候,db的io不是特别高,所以得出的结论是zope有问题。 我相信你那个会比较快些,因为你的外部方法根本不去拿数据,数据是由一个后台程序定时去拿的。但是这样做可能只适用于实时性不要求很高的应用。对于一个论坛,大家发表了文章,没有理由要求他过一会儿才能看到自己贴的文,他会以为自己没贴成功,会继续贴了很多个同样的文章。一般都要求一发贴就能看到的..... 这些情况又没有好方法呢? 期待跟你交流,你是属于吃透zope的架构,并且善于根据自己应用的特点去做优化的人。 -----邮件原件----- 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 周海文 发送时间: 2004年5月26日 18:03 收件人: python-chinese at lists.python.cn 主题: Re: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? 呵呵!,不好意思,这个就是我们做的。 你说的对,我们基本上是全部用ZOPE中的External Method连接python程序,然后由python程序产生html输出。在ZOPE中作了缓存,有一个后台更新程序定时从数据库选择数据,然后更新到ZOPE的内存空间,python程序则直接从内存中拿数据组成动态的页面。 至于共享数据库连接的问题,你可以先写一个简单的数据库连接类,然后实例化成对象,然后从其他的python程序中import这个对象,用这个对象访问数据库,就已经是共享的了。 这种共享数据库连接的方法是基于python的,所以不仅在zope中可以,而且在apache+mod_python中也可以(我们有apache+mod_python的项目也是这么用的)。 ----- Original Message ----- From: "Tan Lihui" <tony at exchange.ricsson.com> To: <python-chinese at lists.python.cn> Sent: Wednesday, May 26, 2004 5:28 PM Subject: 答复: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? 巨灵财经? 怎么找人问呢? -----邮件原件----- 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 Jacob Fan 发送时间: 2004年5月26日 15:55 收件人: python-chinese at lists.python.cn 主题: Re: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? ----- Original Message ----- From: "周海文" <zhou.haiwen at gti.cn> To: <python-chinese at lists.python.cn> Sent: Wednesday, May 26, 2004 3:41 PM Subject: Re: [python-chinese]如何写一个用Web形式浏览一次,就能常住内存的程序? > 你说zope的效率有问题,你可以看看 http://webfinance.gti.cn,这个网站目前的数据库容量已有13GB,是使用zope+python的组合,效率也不见差呀? > > 关于效率,我认为 apache+mod_python 是python中最快的组合。 是啊,不是一般的快。 ;-) _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese
2004年05月27日 星期四 09:45
30CY09+AsrvKx8O/aW1wb3J00ru0zr7NvajBotK7goDfQr3ThuGjv8v8sru/ycTc08DfaLGjs9aG ztK7lLWT/o7swpO907DJDQoNCi0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0gDQpGcm9tOiAi 1ty6o87EIiA8emhvdS5oYWl3ZW5AZ3RpLmNuPg0KVG86IDxweXRob24tY2hpbmVzZUBsaXN0cy5w eXRob24uY24+DQpTZW50OiBUaHVyc2RheSwgTWF5IDI3LCAyMDA0IDk6MTAgQU0NClN1YmplY3Q6 IFJlOiBbcHl0aG9uLWNoaW5lc2VdyOe6ztC00ru49tPDV2Vi0M7KveSvwMDSu7TOo6y+zcTcs6PX ocTatOa1xLPM0PKjvw0KDQoNCj4gZGIgaW+1xNCnwsq52Lz8ysfSqsn6s8nSu7j2ubLP7bXEyv2+ 3b/iwaq907bUz/MoyOfPwsPmtcRTSEFSRS5weSmjrMi7uvPDv7TOt8POysr9vt2/4sqxvs3KudPD 1eK49rbUz/MoyOdvdGhlci5weSmjrL7NvPXJ2cHLw7+0zr2owaLBrL3TtcS/qs/6oaPL2bbIu+HD 98/UzOG437rctuChow0KPiANCj4gI2ZpbGU6IFNIQVJFLnB5DQo+IGltcG9ydCBkYmksb2RiYyx0 aW1lDQo+IGNsYXNzIERhdGFCYXNlUGFyZW50Og0KPiAgICAgZGVmIF9faW5pdF9fKHNlbGYsc3Ry Q29ubmVjdCk6DQo+ICAgICAgICAgc2VsZi5zdHJDb25uZWN0PXN0ckNvbm5lY3QNCj4gICAgICAg ICBzZWxmLmRiPW9kYmMub2RiYyhzdHJDb25uZWN0KQ0KPiANCj4gICAgIGRlZiBzZWxlY3Qoc2Vs ZixzcWxzdHIpOg0KPiAgICAgICAgIGN1cj1zZWxmLmRiLmN1cnNvcigpDQo+ICAgICAgICAgY3Vy LmV4ZWN1dGUoc3Fsc3RyKQ0KPiAgICAgICAgIExpc3Q9Y3VyLmZldGNoYWxsKCkNCj4gICAgICAg ICBpVG90YWxfbGVuZ3RoPWxlbihMaXN0KQ0KPiAgICAgICAgIHNlbGYuZGVzY3JpcHRpb249Y3Vy LmRlc2NyaXB0aW9uDQo+ICAgICAgICAgcmV0dXJuIExpc3QsaVRvdGFsX2xlbmd0aA0KPiANCj4g ICAgIGRlZiBkZWxldGUoc3FsKToNCj4gICAgICAgIC4uLg0KPiANCj4gdHJ5Og0KPiAgICAgZGI9 RGF0YUJhc2VQYXJlbnQoIk9EQkNfRFNOX05BTUUvc2Evc2EiKSAgICAgICAgICAgICO52M+1yv2+ 3b/iway907bUz/MNCj4gZXhjZXB0Og0KPiAgICAgcmFpc2UgJ2RiIGNvbm5lY3QgZXJyb3InDQo+ IA0KPiANCj4gDQo+ICNmaWxlOiBvdGhlci5weQ0KPiBmcm9tIFNIQVJFIGltcG9ydCBkYiAgICAg ICAgICO1vMjryv2+3b/iway907bUz/MNCj4gZGVmIGdldENvbnRlbnQoKToNCj4gICAgIGxULGlO PWRiLnNlbGVjdCgic2VsZWN0ICogZnJvbSB1c2VycyIpDQo+ICAgICBwcmludCBsVCxpTg0KPiAN Cj4gDQo+IC0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0gDQo+IEZyb206ICJUYW4gTGlodWki IDx0b255QGV4Y2hhbmdlLnJpY3Nzb24uY29tPg0KPiBUbzogPHB5dGhvbi1jaGluZXNlQGxpc3Rz LnB5dGhvbi5jbj4NCj4gU2VudDogV2VkbmVzZGF5LCBNYXkgMjYsIDIwMDQgNzoxNCBQTQ0KPiBT dWJqZWN0OiC08Li0OiBbcHl0aG9uLWNoaW5lc2VdyOe6ztC00ru49tPDV2Vi0M7KveSvwMDSu7TO o6y+zcTcs6PXocTatOa1xLPM0PKjvw0KPiANCj4gDQo+IM3isr+3vbeo0LSzzNDyyLfKtbHIvc+/ 7NCpo6jKx9a40LSzzNDytcTQp8LKuN+jqaOstavN4rK/t723qLK7ysfLtbHI1rG909PDem9wZSBh cGm8zLPQz8LAtMq1z9bC/cLwo78NCj4gDQo+IM3isr+3vbeou/HIocr9vt3UtKOso/qj8KP01/bE o7Dlo6zEo7DlzNfJz8r9vt2+zbPJwcvK5LP2tcRodG1soaPSstPDwcu7urTmus3K/b7dv+LBrL3T s9iho87S1eLKx82os6O1xNf2t6ijrNXi0fnQp8LKsrvQ0MLwo7/E48jPzqrOyszis/bU2sTEwO+j v8rHxKOw5dPv0dSjv7u5ysfKssO0o7/O0tTasuLK1LXEyrG68qOso+Sj4rXEo+mj77K7ysfM2LHw uN+jrMv50tS1w7P2tcS94cLbysej+qPvo/Cj5dPQzsrM4qGjDQo+IA0KPiDO0s/g0MXE48THuPa7 4bHIvc+/7NCpo6zS8s6qxOO1xM3isr+3vbeouPmxvrK7yKXEw8r9vt2jrMr9vt3Kx9PJ0ru49rrz zKizzNDytqjKscilxMO1xKGjtavKx9Xi0fnX9r/JxNzWu8rK08PT2sq1yrHQ1LK70qrH87rcuN+1 xNOm08Oho7bU09rSu7j2wtvMs6OstPO80reise3By87E1cKjrMO709DA7dPJ0qrH88v7uf3Su7vh tvmyxcTcv7S1vdfUvLrM+bXEzsSjrMv7u+HS1M6q19S8usO7zPmzybmmo6y74bzM0PjM+cHLuty2 4Lj2zazR+bXEzsTVwqGj0ruw47a80qrH89K7t6LM+b7NxNy/tLW9tcQuLi4uLqGh1eLQqcfpv/bT 1sO709C6w7e9t6jE2KO/DQo+IA0KPiDG2rT9uPrE4727wfejrMTjysfK9NPas9TNuKP6o++j8KPl tcS83Lm5o6yyosfSycbT2rj5vt3X1Ly606bTw7XEzNi148il1/bTxbuvtcTIy6GjDQo+IA0KPiAt LS0tLdPKvP7Urbz+LS0tLS0NCj4gt6K8/sjLOiBweXRob24tY2hpbmVzZS1ib3VuY2VzQGxpc3Rz LnB5dGhvbi5jbiBbbWFpbHRvOnB5dGhvbi1jaGluZXNlLWJvdW5jZXNAbGlzdHMucHl0aG9uLmNu XSC0+rHtINbcuqPOxA0KPiC3osvNyrG85DogMjAwNMTqNdTCMjbI1SAxODowMw0KPiDK1bz+yMs6 IHB5dGhvbi1jaGluZXNlQGxpc3RzLnB5dGhvbi5jbg0KPiDW98ziOiBSZTogW3B5dGhvbi1jaGlu ZXNlXcjnus7QtNK7uPbTw1dlYtDOyr3kr8DA0ru0zqOsvs3E3LOj16HE2rTmtcSzzNDyo78NCj4g DQo+ILrHusejoaOssru6w9Liy7yjrNXiuPa+zcrHztLDx9f2tcShow0KPiDE48u1tcS21KOsztLD x7v5sb7Jz8rHyKuyv9PDWk9QRdbQtcRFeHRlcm5hbCBNZXRob2TBrL3TcHl0aG9us8zQ8qOsyLu6 89PJcHl0aG9us8zQ8rL6yfpodG1syuSz9qGj1NpaT1BF1tDX98HLu7q05qOs09DSu7j2uvPMqLj8 0MKzzNDytqjKsbTTyv2+3b/i0aHU8cr9vt2jrMi7uvO4/NDCtb1aT1BFtcTE2rTmv9W85KOscHl0 aG9us8zQ8tTy1rG907TTxNq05tbQxMPK/b7d1+mzybavzKy1xNKzw+ahow0KPiANCj4g1sHT2rmy z+3K/b7dv+LBrL3TtcTOyszio6zE47/J0tTPyNC00ru49rzytaW1xMr9vt2/4sGsvdPA4KOsyLu6 88q1wP27r7PJttTP86OsyLu687TTxuTL+7XEcHl0aG9us8zQ8tbQaW1wb3J01eK49rbUz/OjrNPD 1eK49rbUz/O3w87Kyv2+3b/io6y+zdLRvq3Kx7myz+21xMHLoaMNCj4gDQo+INXi1ta5ss/tyv2+ 3b/iway907XEt723qMrHu/nT2nB5dGhvbrXEo6zL+dLUsru99tTaem9wZdbQv8nS1KOstvjH0tTa YXBhY2hlK21vZF9weXRob27W0NKyv8nS1KOoztLDx9PQYXBhY2hlK21vZF9weXRob261xM/uxL/S ssrH1eLDtNPDtcSjqaGjDQo+IA0KPiANCj4gLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLSAN Cj4gRnJvbTogIlRhbiBMaWh1aSIgPHRvbnlAZXhjaGFuZ2Uucmljc3Nvbi5jb20+DQo+IFRvOiA8 cHl0aG9uLWNoaW5lc2VAbGlzdHMucHl0aG9uLmNuPg0KPiBTZW50OiBXZWRuZXNkYXksIE1heSAy NiwgMjAwNCA1OjI4IFBNDQo+IFN1YmplY3Q6ILTwuLQ6IFtweXRob24tY2hpbmVzZV3I57rO0LTS u7j208NXZWLQzsq95K/AwNK7tM6jrL7NxNyzo9ehxNq05rXEs8zQ8qO/DQo+IA0KPiANCj4gvt7B 6bLGvq2jvw0KPiDU9cO01dLIy87KxNijvw0KPiANCj4gLS0tLS3Tyrz+1K28/i0tLS0tDQo+ILei vP7IyzogcHl0aG9uLWNoaW5lc2UtYm91bmNlc0BsaXN0cy5weXRob24uY24gW21haWx0bzpweXRo b24tY2hpbmVzZS1ib3VuY2VzQGxpc3RzLnB5dGhvbi5jbl0gtPqx7SBKYWNvYiBGYW4NCj4gt6LL zcqxvOQ6IDIwMDTE6jXUwjI2yNUgMTU6NTUNCj4gytW8/sjLOiBweXRob24tY2hpbmVzZUBsaXN0 cy5weXRob24uY24NCj4g1vfM4jogUmU6IFtweXRob24tY2hpbmVzZV3I57rO0LTSu7j208NXZWLQ zsq95K/AwNK7tM6jrL7NxNyzo9ehxNq05rXEs8zQ8qO/DQo+IA0KPiANCj4gLS0tLS0gT3JpZ2lu YWwgTWVzc2FnZSAtLS0tLSANCj4gRnJvbTogItbcuqPOxCIgPHpob3UuaGFpd2VuQGd0aS5jbj4N Cj4gVG86IDxweXRob24tY2hpbmVzZUBsaXN0cy5weXRob24uY24+DQo+IFNlbnQ6IFdlZG5lc2Rh eSwgTWF5IDI2LCAyMDA0IDM6NDEgUE0NCj4gU3ViamVjdDogUmU6IFtweXRob24tY2hpbmVzZV3I 57rO0LTSu7j208NXZWLQzsq95K/AwNK7tM6jrL7NxNyzo9ehxNq05rXEs8zQ8qO/DQo+IA0KPiAN Cj4gPiDE48u1em9wZbXE0KfCytPQzsrM4qOsxOO/ydLUv7S/tCBodHRwOi8vd2ViZmluYW5jZS5n dGkuY26jrNXiuPbN+NW+xL/HsLXEyv2+3b/iyN3Bv9LR09AxM0dCLMrHyrnTw3pvcGUrcHl0aG9u tcTX6brPo6zQp8LK0rKyu7z7su7RvaO/DQo+ID4gDQo+ID4gudjT2tCnwsqjrM7SyM/OqiBhcGFj aGUrbW9kX3B5dGhvbiDKx3B5dGhvbtbQ1+6/7LXE1+m6z6GjDQo+IA0KPiDKx7Cho6yyu8rH0ruw 47XEv+yhoyA7LSkNCj4gDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fDQo+IHB5dGhvbi1jaGluZXNlIGxpc3QNCj4gcHl0aG9uLWNoaW5lc2VAbGlzdHMu cHl0aG9uLmNuDQo+IGh0dHA6Ly9weXRob24uY24vbWFpbG1hbi9saXN0aW5mby9weXRob24tY2hp bmVzZQ0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCj4gcHl0aG9uLWNoaW5lc2UgbGlzdA0KPiBweXRob24tY2hpbmVzZUBsaXN0cy5weXRob24u Y24NCj4gaHR0cDovL3B5dGhvbi5jbi9tYWlsbWFuL2xpc3RpbmZvL3B5dGhvbi1jaGluZXNlDQoN Cg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KDQo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fDQo+IHB5dGhvbi1jaGluZXNlIGxpc3QNCj4gcHl0aG9u LWNoaW5lc2VAbGlzdHMucHl0aG9uLmNuDQo+IGh0dHA6Ly9weXRob24uY24vbWFpbG1hbi9saXN0 aW5mby9weXRob24tY2hpbmVzZQ0KPiA=
Zeuux © 2024
京ICP备05028076号