太多 mysql (ajax) 请求对 php 聊天应用程序有哪些负面影响?

发布于 2024-10-27 02:56:13 字数 475 浏览 3 评论 0原文

您好,我创建了一个简单的 php/mysql/Ajax 聊天应用程序,我有几个问题。在此之前,让我解释一下它是如何工作的。

因此,如果用户位于聊天页面,ajax 脚本会向显示聊天历史记录(最新消息)的 php 文件发送请求,并以 HTML 形式返回。此请求每秒循环一次,以向查看页面的用户显示最新消息。

到目前为止,它运行良好。

现在我的问题和担忧是,1.)使用这样的方法有什么缺点(如果有的话)? 2.) 如果它拥有庞大的用户群并且很多人同时使用它,我最应该担心什么? (主要是因为它每秒为每个用户发出一个请求..)

mysql 表是一个 innodb 表,我只使用一个没有 WHERE 子句的 SELECT 语句..类似于 SELECT * FROM table ORDER BY id DESC LIMIT 10 等..(基本上,我让 mysql 做一些非常简单的事情,比如蛋糕)

3.)欢迎任何建议;)

非常感谢
维卡什

hi i created a simple php/mysql/Ajax chat application and I have a few questions. before that let me explain how it works.

So, if a user is on the chat page, the ajax script sends a request to a php file that shows the chat histories (latest messages), and returns it in HTML. This request is looped every second to show the latest messages to the user viewing the page.

so far its been working great.

now my question and concern is, 1.) What are the cons of using a method like this, if any? 2.) What things should i worry most about, if it gets a large user base and many people are using it simultaneously? (mostly because its making a request every second, for each user on it..)

the mysql table is an innodb table, and I'm using only one SELECT statement without a WHERE clause.. something like SELECT * FROM table ORDER BY id DESC LIMIT 10 etc.. (basically, I'm making mysql do something very easy like cake)

3.) Any suggestion are welcome ;)

thanks very much
vikash

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

金橙橙 2024-11-03 02:56:13

当然,您需要考虑 Web 服务器和数据库服务器的可扩展性问题。有一些技术,例如用于提高数据库性能的 MySQL 集群和用于 HTTP 端的 Web 集群。

对于大规模使用,您还可以考虑通过删除早期帖子并将其转储到单独的表中以进行低频访问来缩减表。您还可以使用某种方法通过某些工作线程缓存数据库请求,以便数据库读取量最少,但前端将有能力处理大量请求。

Definitely, you will need to look at scalability issues for both the web server and database server. There are technologies such as MySQL clustering for improving performance on the database and web clustering for the HTTP side of things.

With large scale use you may also look at trimming down the table by removing early posts and dumping them to a separate table for low-frequency access. You could also have some method of caching the database requests via some worker threads so the database reads are minimal, but the front-end will have the ability to cope with the high volume of requests.

过气美图社 2024-11-03 02:56:13

我在 phpFreeChat(php/ajax/mysql 聊天)中有 60 个人,这对处理器来说是一个巨大的消耗。它让 8 核服务器崩溃了。

I got 60 people in phpFreeChat (php/ajax/mysql chat) and it was a complete processor hog. It brought an 8 core server to its knees.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文