使用开源软件,设计高性能可扩展网站

Related

Πράκτορες AI ανέπτυξαν δική τους «γλώσσα» σε εικονικό κόσμο – Τι έδειξε πείραμα 16 ημερών

Πράκτορες τεχνητής νοημοσύνης δημιούργησαν δική τους ορολογία και ολοένα πιο αδιαφανείς τρόπους επικοινωνίας σε προσομοιωμένους κόσμους, αναδεικνύοντας νέες προκλήσεις για την εποπτεία αυτόνομων συστημάτων AI. Δέκα πράκτορες AI τοποθετήθηκαν σε οκτώ παράλληλους εικονικούς κόσμους για 16 ημέρες, στο πλαίσιο του πειράματος Emergence World 2. Σε ορισμένα περιβάλλοντα, έως και περίπου 40%-55% των μηνυμάτων χαρακτηρίστηκαν δύσκολα

Alibaba: Νέο τσιπ και μεγαλύτερο μοντέλο ΑΙ – Άλμα 5% στη μετοχή

Ένα μοντέλο τεχνητής νοημοσύνης έως και ​τέσσερις φορές μεγαλύτερο από το κορυφαίο μοντέλο της εταιρείας ανακοίνωσε ότι αναπτύσσει o Όμιλος Alibaba ο οποίος παρουσίασε ένα τσιπ τεχνητής νοημοσύνης νέας γενιάς, που χαρακτήρισε ως το ‌ισχυρότερο της Κίνας. Αυτή η εξέλιξη είχε ως αποτέλεσμα οι μετοχές της εταιρείας να σημειώσουν άνοδο 5%. Το τσιπ της Alibaba

Siemens Tech Summit Athens 2026: Η Βιομηχανική Τεχνητή Νοημοσύνη συναντά τον πραγματικό κόσμο

Από την Τεχνητή Νοημοσύνη και τα δεδομένα έως την ενέργεια, τη βιομηχανία και τα κτήρια, το Siemens Tech Summit Athens 2026 ανέδειξε ένα κοινό συμπέρασμα: η μεγαλύτερη αξία της τεχνολογίας προκύπτει όταν συνδέει τον πραγματικό με τον ψηφιακό κόσμο, μετατρέποντας την καινοτομία σε παραγωγικότητα, βιωσιμότητα και ουσιαστικό αντίκτυπο για τις επιχειρήσεις και την κοινωνία. Με

Η τεχνητή νοημοσύνη χρειάζεται περισσότερα data centers – Αλλά ποιος αναλαμβάνει το ρίσκο;

FORTUNE GREECE 22/09/2026, 14:45 SHARE Η επέκταση των υποδομών τεχνητής νοημοσύνης αυξάνει την έκθεσή τους σε πολεμικές συγκρούσεις και τοπικές αντιδράσεις. Έκθεση της Howden καταγράφει περισσότερες δικαστικές διαμάχες και νέες προκλήσεις για την ασφαλιστική κάλυψη. Η μεγαλύτερη απειλή για ένα data center μπορεί να έρθει από ένα drone, μια δικαστική προσφυγή ή την αδυναμία του

Κάμψη 4% στις αποστολές smart watches για το Q2 2026

Για πρώτη φορά μέσα σε έναν ολόκληρο χρόνο, η παγκόσμια αγορά smart watches σημειώνει πτώση. Τα στοιχεία της Counterpoint Research για το δεύτερο τρίμηνο του 2026 δείχνουν κάμψη των αποστολών κατά 4% σε ετήσια βάση . Η αγορά περνάει μια φάση αναδιάρθρωσης, με τους καταναλωτές να αλλάζουν αισθητά τη συμπεριφορά τους . Γιατί φρέναραν οι

Googlebook: νέα κατηγορία laptops με πυρήνα Android

Ξεχάστε όσα ξέρατε για τη μεταφορά αρχείων με email στον εαυτό σας ή το ψάξιμο για καλώδια. Η Google αποφάσισε να συνδέσει το κινητό σας με την οθόνη του υπολογιστή με τρόπο που έπρεπε να υπάρχει εδώ και χρόνια. Το Googlebook είναι η νέα κατηγορία laptops που βασίζεται στον πυρήνα του Android, δανείζεται την επιφάνεια

Τεχνητή νοημοσύνη: H Deepseek στο Συμβούλιο Ασφαλείας του ΟΗΕ για ενημέρωση

Η κινεζική startup τεχνητής νοημοσύνης DeepSeek θα είναι μία από τις εταιρείες που θα ενημερώσουν το Συμβούλιο Ασφαλείας των Ηνωμένων Εθνών αυτή την εβδομάδα σχετικά με τους κινδύνους που ενέχει η τεχνητή νοημοσύνη, σύμφωνα με δύο πηγές που είναι ενήμερες για το θέμα, καθώς οι ηγέτες του κόσμου συγκεντρώνονται στη Νέα Υόρκη για την ετήσια

Το iPhone Duo είναι γεγονός

Το “Surprise and shine” event της Apple έκρυβε όντως κάποιες εκπλήξεις! Η μεγαλύτερη δεν ήταν άλλη από το πρώτο foldable smartphone της εταιρείας, το iPhone Duo! Το φθινοπωρινό event της Apple είχε φυσικά και μερικές πιο αναμενόμενες παρουσιάσεις, δηλαδή τη νέα γενιά iPhone 18 Pro και iPhone 18 Pro Max που έκανε το ντεμπούτο της.

Πρόβλημα με το Face ID στο iPhone 18 Pro

Μόλις παραλάβατε το ολοκαίνουργιο iPhone 18 Pro και ανυπομονείτε να το δοκιμάσετε. Ανοίγετε μια εφαρμογή που προστατεύεται από το Face ID, αλλά το τηλέφωνο αποτυγχάνει να αναγνωρίσει το πρόσωπό σας. Αντί να σας ζητήσει απλώς τον κωδικό πρόσβασης, η οθόνη παγώνει εντελώς. Λίγα δευτερόλεπτα μετά, η συσκευή κάνει αυτόματη επανεκκίνηση. Αυτό το πρόβλημα αντιμετωπίζουν αρκετοί

Νέα πατέντα της Samsung για τους ενοχλητικούς αριθμούς

Η Samsung ετοιμάζει μια κίνηση ματ που αλλάζει τελείως τον τρόπο με τον οποίο το τηλέφωνό σας διαχειρίζεται τους ενοχλητικούς αριθμούς . Οι κάτοχοι του Galaxy S26 Ultra χρησιμοποιούν ήδη την τεχνητή νοημοσύνη για να απαντάει σε ύποπτες κλήσεις . Ωστόσο, μια νέα πατέντα της εταιρείας ακολουθεί τον ακριβώς αντίθετο δρόμο . Απορρίπτει τον μπλοκαρισμένο

Τεράστια αισθητική αλλαγή στην οθόνη του iPhone 20 Pro

Μόλις κυκλοφόρησε η σειρά iPhone 18 και η τεχνολογική αγορά ήδη συζητάει τα μοντέλα της επόμενης χρονιάς. Η Apple αγαπά τις παραδόσεις και το 2027 γιορτάζει είκοσι χρόνια από την ημέρα που ο Steve Jobs παρουσίασε την πρώτη συσκευή. Αυτός ακριβώς είναι ο λόγος που η εταιρεία επιλέγει να προσπεράσει το όνομα 19 και να

Η AI ξαναγράφει τον χάρτη των τηλεπικοινωνιών: Το 55% της ανάπτυξης από τα data centers

Η AI αλλάζει την αγορά τηλεπικοινωνιακού εξοπλισμού: άνοδος 5%, κυριαρχία των cloud providers και νέες απαιτήσεις για οπτικές ίνες και την Ελλάδα.

Share

2006-6-17 于敦德

Ακολουθήστε το fibernews.gr στη Google
Προσθέστε μας στις προτιμώμενες πηγές σας για να βλέπετε συχνότερα τις ειδήσεις και τις αναλύσεις μας στη Google.

上次我们以LiveJournal为例详细分析了一个小网站在一步一步的发展成为大规模的网站中性能优化的方案,以解决在发展中由于负载增长而引起的性能问题,同时在设计网站架构的时候就从根本上避免或者解决这些问题。

今天我们来看一下在网站的设计上一些通常使用的解决大规模访问,高负载的方法。我们将主要涉及到以下几方面:

1、 前端负载
2、 业务逻辑层
3、 数据层

在LJ性能优化文章中我们提到对服务器分组是解决负载问题,实现无限扩展的解决方案。通常中我们会采用类似LDAP的方案来解决,这在邮件的服务器以及个人网站,博客的应用中都有使用,在Windows下面有类似的Active Directory解决方案。有的应用(例如博客或者个人网页)会要求在二级域名解析的时候就将用户定位到所属的服务器群组,这个时候请求还没到应用上面,我们需要在DNS里解决这个问题。这个时候可以用到一款软件bind dlz,这是bind的一个插件,用于取代bind的文本解析配置文件。它支持包括LDAP,BDB在内的多种数据存储方式,可以比较好的解决这个问题。

另外一种涉及到DNS的问题就是目前普遍存在的南北互联互通的问题,通过bind9内置的视图功能可以根据不同的IP来源解析出不同的结果,从而将南方的用户解析到南方的服务器,北方的用户解析到北方的服务器。这个过程中会碰到两个问题,一是取得南北IP的分布列表,二是保证南北服务器之间的通讯顺畅。第一个问题有个笨办法解决,从日志里取出所有的访问者IP,写一个脚本,从南北的服务器分别ping回去,然后分析结果,可以得到一个大致准确的列表,当然最好的办法还是直到从运营商那里拿到这份列表(update:参见这篇文章)。后一个问题解决办法比较多,最好的办法就是租用双线机房,同一台机器,双IP,南北同时接入,差一些的办法就是南北各自找机房,通过大量的测试找出中间通讯顺畅的两个机房,后一种通常来说成本较低,但效果较差,维护不便。

另外DNS负载均衡也是广泛使用的一种负载均衡方法,通过并列的多条A记录将访问随即的分布到多台前端服务器上,这种通常使用在静态页面居多的应用上,几大门户内容部分的前端很多都是用的这种方法。

用户被定位到正确的服务器群组后,应用程序就接手用户的请求,并开始沿着定义好的业务逻辑进行处理。这些请求主要包括两类静态文件(图片,js脚本,css等),动态请求。

静态请求一般使用squid进行缓存处理,可以根据应用的规模采用不同的缓存配置方案,可以是一级缓存,也可以是多级缓存,一般情况下cache的命中率可以达到70%左右,能够比较有效的提升服务器处理能力。Apache的deflate模块可以压缩传输数据,提高速度,2.0版本以后的cache模块也内置实现磁盘和内存的缓存,而不必要一定做反向代理。

动态请求目前一般有两种处理方式,一种是静态化,在页面发生变化时重新静态页面,现在大量的CMS,BBS都采用这种方案,加上cache,可以提供较快的访问速度。这种通常是写操作较少的应用比较适合的解决方案。

另一种解决办法是动态缓存,所有的访问都仍然通过应用处理,只是应用处理的时候会更多的使用内存,而不是数据库。通常访问数据库的操作是极慢的,而访问内存的操作很快,至少是一个数量级的差距,使用memcached可以实现这一解决方案,做的好的memcache甚至可以达到90%以上的缓存命中率。10年前我用的还是2M的内存,那时的一本杂事上曾经风趣的描述一对父子的对话:

儿子:爸爸,我想要1G的内存。

爸爸:儿子,不行,即使是你过生日也不行。

时至今日,大内存的成本已经完全可以承受。Google使用了大量的PC机建立集群用于数据处理,而我一直觉得,使用大内存PC可以很低成本的解决前端甚至中间的负载问题。由于PC硬盘寿命比较短,速度比较慢,CPU也稍慢,用于做web前端既便宜,又能充分发挥大内存的优势,而且坏了的话只需要替换即可,不存在数据的迁移问题。

下面就是应用的设计。应用在设计的时候应当尽量的设计成支持可扩展的数据库设计,数据库可以动态的添加,同时支持内存缓存,这样的成本是最低的。另外一种应用设计的方法是采用中间件,例如ICE。这种方案的优点是前端应用可以设计的相对简单,数据层对于前端应用透明,由ICE提供,数据库分布式的设计在后端实现,使用ICE封装后给前端应用使用,这路设计对每一部分设计的要求较低,将业务更好的分层,但由于引入了中间件,分了更多层,实现起来成本也相对较高。

在数据库的设计上一方面可以使用集群,一方面进行分组。同时在细节上将数据库优化的原则尽量应用,数据库结构和数据层应用在设计上尽量避免临时表的创建、死锁的产生。数据库优化的原则在网上比较常见,多google一下就能解决问题。在数据库的选择上可以根据自己的习惯选择,Oracle,MySQL等,并非Oracle就够解决所有的问题,也并非MySQL就代表小应用,合适的就是最好的。

前面讲的都是基于软件的性能设计方案,实际上硬件的良好搭配使用也可以有效的降低时间成本,以及开发维护成本,只是在这里我们不再展开。

网站架构的设计是一个整体的工程,在设计的时候需要考虑到性能,可括展性,硬件成本,时间成本等等,如何根据业务的定位,资金,时间,人员的条件设计合适的方案是件比较困难的事情,但多想多实践,终究会建立一套适合自己的网站设计理念,用于指导网站的设计工作,为网站的发展奠定良好的基础。

ByteDance: Συμφωνία στο Χόλιγουντ για τα πνευματικά δικαιώματα στον τομέα τεχνητή νοημοσύνης

Συμφωνία υπέγραψαν τη Δευτέρα η ByteDance και η Motion Picture Association (MPA) με την οποία επιδιώκουν την ενίσχυση των μέτρων προστασίας των πνευματικών δικαιωμάτων στα μοντέλα τεχνητής νοημοσύνης της κινεζικής εταιρείας για τη δημιουργία βίντεο και εικόνων, μήνες αφότου η επαγγελματική ένωση του Χόλιγουντ αμφισβήτησε τον τρόπο με τον οποίο η εταιρεία χειρίζεται την πνευματική

初创网站与开源软件

前面有一篇文章中提到过开源软件,不过主要是在系统运维的角度去讲的,主要分析一些系统级的开源软件(例如bind,memcached),这里我们讨论的是用于搭建初创网站应用的开源软件(例如phpbb,phparticle),运行在Linux,MySQL,Apache,PHP,Java等下面。 创业期的网站往往采用比较简单的系统架构,或者是直接使用比较成熟的开源软件。使用开源软件的好处是搭建速度快,基本不需要开发,买个空间域名,下个软件一搭建,用个半天就搞定了,一个崭新的网站就开张了,在前期可以极大程度的节约时间成本和开发成本。 当然使用开源软件搭建应用也存在一些局限性,这是我们要重点研究的,而研究的目的就是如何在开源软件选型时以及接下来的维护过程中尽量避免。 一方面是开源软件一般只有在比较成熟的领域才有,如果是一些创新型的项目很难找到合适的开源软件,这个时候没什么好的解决办法,如果非要用开源的话一般会找一个最相似的改一下。实际上目前开源的项目也比较多了,在sf.net上可以找到各种各样的开源项目。选型的时候尽量应该选取一个程序架构比较简单的,不一定越简单越好,但一定要简单,一目了然,别用什么太高级的特性,互联网应用项目不需要太复杂的框架。原因有两个,一个是框架复杂无非是为了实现更好的可扩展性和更清晰的层次,而我们正在做的互联网应用范围一般会比开源软件设计时所考虑的范围小的多,所以有的应用会显得设计过度,另外追求完美的层次划分导致的太复杂的继承派生关系也会影响到整个系统维护的工作量。建议应用只需要包含三个层就可以了,数据(实体)层,业务逻辑层,表现层。太复杂的设计容易降低开发效率,提高维护成本,在出现性能问题或者突发事件的时候也不容易找到原因。 另外一个问题是开源软件的后期维护和继续开发可能会存在问题,这一点不是绝对的,取决于开源软件的架构是否清晰合理,扩展性好,如果是较小的改动可能一般不会存在什么问题,例如添加一项用户属性或者文章属性,但有些需求可能就不是很容易实现了。例如网站发展到一定阶段后可能会考虑扩展产品线,原来只提供一个论坛加上cms,现在要再加上商城,那用户系统就会有问题,如何解决这个问题已经不仅仅是改一下论坛或者cms就可以解决了,这个时候我们需要上升到更高的层次来考虑问题,是否需要建立针对整个网站的用户认证系统,实现单点登录,用户可以在产品间无缝切换而且保持登录状态。由于网站初始的用户数据可能大部分都存放在论坛里,这个时候我们需要把用户数据独立出来就会碰到麻烦,如何既能把用户数据独立出来又不影响论坛原有系统的继续运行会是件很头痛的事情。经过一段时间的运行,除非是特别好的设计以及比较好的维护,一般都会在论坛里存在各种各样乱七八糟的对用户信息的调用,而且是直接针对数据库的,这样如果要将用户数据移走的话要修改代码的工作量将不容忽视,而另外一个解决办法是复制一份用户数据出来,以新的用户数据库为主,论坛里的用户数据通过同步或异步的机制实现同步。最好的解决办法就是在选型时选一个数据层封装的比较好的,sql代码不要到处飞的软件,然后在维护的时候保持系统原有的优良风格,把所有涉及到数据库的操作都放到数据层或者实体层里,这样无论对数据进行什么扩展,代码修改起来都比较方便,基本不会对上层的代码产生影响。 网站访问速度问题对初创网站来说一般考虑的比较少,买个空间或者托管服务器,搭建好应用后基本上就开始运转了,只有到真正面临极大的速度访问瓶颈后才会真正对这个问题产生重视。实际上在从网站的开始阶段开始,速度问题就会一直存在,并且会随着网站的发展也不断演进。一个网站最基本的要求,就是有比较快的访问速度,没有速度,再好的内容或服务也出不来。所以,访问速度在网站初创的时候就需要考虑,无论是采用开源软件还是自己开发都需要注意,数据层尽量能够正确,高效的使用SQL。SQL包含的语法比较复杂,实现同样一个效果如果考虑到应用层的的不同实现方法,可能有好几种方法,但里面只有一种是最高效的,而通常情况下,高效的SQL一般是那个最简单的SQL。在初期这个问题可能不是特别明显,当访问量大起来以后,这个可能成为最主要的性能瓶颈,各种杂乱无章的SQL会让人看的疯掉。当然前期没注意的话后期也有解决办法,只不过可能不会解决的特别彻底,但还是要吧非常有效的提升性能。看MySQL的SlowQuery Log是一个最为简便的方法,把执行时间超过1秒的查询记录下来,然后分析,把该加的索引加上,该简单的SQL简化。另外也可以通过Showprocesslist查看当前数据库服务器的死锁进程,从而锁定导致问题的SQL语句。另外在数据库配置文件上可以做一些优化,也可以很好的提升性能,这些文章在网站也比较多,这里就不展开。 这些工作都做了以后,下面数据库如果再出现性能问题就需要考虑多台服务器了,一台服务器已经解决不了问题了,我以前的文章中也提到过,这里也不再展开。 其它解决速度问题的办法就不仅仅是在应用里面就可以实现的了,需要从更高的高度去设计系统,考虑到服务器,网络的架构,以及各种系统级应用软件的配合,这里也不再展开。 良好设计并实现的应用+中间件+良好的分布式设计的数据库+良好的系统配置+良好的服务器/网络结构,就可以支撑起一个较大规模的网站了,加上前面的几篇文章,一个小网站发展到大网站的过程基本上就齐了。这个过程会是一个充满艰辛和乐趣的过程,也是一个可以逐渐过渡的过程,主动出击,提前考虑,减少救火可以让这个过程轻松一些。

CMS系统的演进